Python 异常处理及程序调试

123 阅读1分钟

本人已参与[新人创作礼]活动,一起开启掘金创作之路。

异常描述

这里我们列举一些常见的程序报错:

  • ZeroDivisionError,0作为除数时的报错
  • NameError 未声明变量引发的错误
  • IndexError 索引超出序列范围
  • IndentationError 缩进错误
  • ValueError 传值错误
  • KeyError 请求不存在的字典关键字
  • IOError 输入输出错误
  • ImportError import语句无法找到模块
  • AttributeError 尝试访问未知对象属性
  • TypeError 类型不合适
  • MemoryError 内存不足

异常处理语句

1.try...except

try:
	block1
except [ExceptionName [as alias]]:
	block2

把可能出错的放在try后面,如果try后的语句报错则会执行except语句中的代码

[ExceptionName [as alias]] 是可选参数,用于指定要捕获的异常,ExceptionName则是异常名称,如果要加上as关键字,则表示为当前异常指定一个别名。

2.try...except...else

else用于当try后没有报错时执行,其他不变

3.try...except...finally

完整的异常处理语句应该包含finally模块,无论程序中有无异常产生,finally后的代码块都会执行,

4.raise抛出异常

raise [ExceptionName(reason)]

reason用于指定错误的描述信息,如果省略不写则原样抛出

5.assert

assert expression[,reason]

expression为assert语句的条件表达式,如果条件为假则抛出异常,该语句很常用,通常用于检测错误位置,reason是对错误的补充描述。