异常
异常处理语句
try ... except
语句
格式如下:
1 | try: |
执行 try1
块,发生异常则执行 except
块。
try ... except ... else
语句
格式如下:
1 | try: |
发生异常时,没有匹配的异常,则执行 else
语句块。
try ... except ... finally
语句
格式如下:
1 | try: |
不管有没有发生异常,finally
块都会执行
抛出异常
使用 raise
语句抛出异常。语法如下:
1 | raise [ExceptionName[(reason)]] |
assert
断言
语法格式如下:
1 | assert 表达式 [,reason] |
表达式为返回 bool
的条件表达式。
- 如果值为
True
,则什么都不做。 - 如果值为
Fasle
,则抛出AssertionError
异常。
常见异常
异常 | 说明 |
---|---|
ZeroDivisionError | 除 0 异常 |
NameError | 访问没有声明的变量 |
IndexError | 超出序列范围访问 |
ValueError | 传入值错误 |
IndentationError | 缩进错误 |
KeyError | 字典key不存在 |
IOError | 输入输出错误 |
ImportError | 导入模块错误 |
TypeError | 类型不合适错误 |
AttributeError | 访问未知的对象属性错误 |
MemoryError | 内存不足 |