异常处理和程序调试
异常处理和程序调试
1,认识异常
1,使用异常处理机制
Python内置了一套异常处理机制,它能够降低程序开发的复杂度。当预测某些代码可能会出错时,使用try语句块来运行这些代码。
1 | #如果发现了某些错误,则不会再继续执行,直接跳转至except语句块进行错误处理。 |
使用try…except语句组合来捕获错误,还可以跨越多层调用。
2,语法错误
Python中常见的错误有两种类型:语法错误和异常错误。
语法错误就是程序的写法不符合编程语言的规则。对于语法错误,在编写程序的过程中应该努力避免,在程序调试中消除。常见的语法错误:
1 | #拼写错误:关键字拼写错误会提示SyntaxError错误,变量名、函数名拼写错误会提示NameError错误。 |
3,异常错误
异常就是在程序执行过程中,发生的超出预期的事件,在异常事件发生时,将会影响程序的正常执行。
1 | #在程序设计过程中,由于疏忽或者考虑步骤造成的错误。这时可以在调试或运行过程中根据异常提示信息,找到错的位置和代码,并对错误代码进行分析,测试和排错。 |
4,Python内置异常
在Python中,异常也是一种类型,所有的异常对象都继承自BaseException基类,所有使用except语句不但可以捕获该类型的错误,还可以捕获所有的子类的错误。用户自定义的异常并不直接继承BaseException,所有的异常类都是Exception继承,且都在exception模块中定义。Python自动将所有异常名称放在内建命名空间中,所以程序不必导入exception模块即可使用异常。
5,如何解读错误信息
【示例】演示跟踪异常
1 | def a(s): |
如果错误没有被捕获,他就会一直往上抛出异常,最后被Python解释器捕获,打印错误信息,然后退出程序。
2,异常处理
当使用异常时,需要对异常进行捕获,然后进行妥善处理。Python提供了多个异常处理语句,方便开发者使用。
1,使用try和except
Python使用try和except语句组合可以捕获并处理异常,其语法结构如下:
1 | try: |
异常名称为可选参数,设置要捕获的异常类型,如果不指定异常类型,则表示捕获全部异常类型。设置别名,主要是在异常处理代码块中方便引用异常对象。
当程序出现异常时,except子句将捕获异常,捕获后可以忽略异常,或者输出错误提示信息,或者进行补救,但是程序将继续执行。
【示例1】设计捕获所有的异常。本示例在try子句中编写一个错误的除法运算,然后使用except子句捕获这个错误。
1 | try: |
输出结果:
1 | 不能除以0 |
【示例2】设计
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hexo!