异常的抛出机制: 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()函数传入字符串形 |