异常
异常处理语句
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 | 内存不足 |