异常的抛出机制: 1、如果在运行时发生异常,解释器会查找相应的处理语句(称为handler). 2、要是在当前函数里没有找到的话,它会将异常传递给上层的调用函数,看看那里能不能处理。 3、如果在最外层(全局“main”)还是没有找到的话,解释器就会退出,同时打印出traceback以便让用户找到错误产生的原因。 import hashlib try: m=hashlib.md5() # print(m) m.update(‘123456‘) print(m.hexdigest()) except Exception as e: print(e)
| 异常 | 描述 |
| NameError | 尝试访问一个没有申明的变量 |
| ZeroDivisionError | 除数为0 |
| SyntaxError | 语法错误 |
| IndexError | 索引超出序列范围 |
| KeyError | 请求一个不存在的字典关键字 |
| IOError | 输入输出错误(比如你要读的文件不存在) |
| AttributeError | 尝试访问未知的对象属性 |
| ValueError | 传给函数的参数类型不正确,比如给int()函数传入字符串形 |