当无法导入模块或模块的成员时,会引发 ImportError。ImportError 可能在两种情况下引发。如果模块不存在。示例import sys try: from exception import myexception except Exception as e: print e print sys.exc_type输出No module named exception 如果使用 from X import Y 并且在模块 X 中找不到 Y,则会引发 ImportError。示例 import sys try: from time import datetime except Exception as e: print e print sys.exc_type输出 cannot import name datetime
当除法运算的分母中出现零时,会引发 ZeroDivisionError。我们如下重写给定的代码以处理异常并查找其类型。示例import sys try: x = 11/0 print x except Exception as e: print sys.exc_type print e输出integer division or modulo by zero
当函数接收具有正确类型但无效值的 value 时,使用 ValueError。给定的代码可以按如下方式重写以处理异常并查找其类型。示例import sys try: n = int('magnolia') except Exception as e: print e print sys.exc_type输出invalid literal for int() with base 10: 'magnolia'
LookupError 异常是当找不到某些内容时引发的错误的基类。当映射或序列上使用的键或索引无效时引发的异常的基类:IndexError、KeyError。当序列引用超出范围时,会引发 IndexError。给定的代码如下重写,以捕获异常并查找其类型示例import sys try: foo = [a, s, d, f, g] print foo[5] except IndexError as e: print e print sys.exc_type输出C:/Users/TutorialsPoint1~.py list index out of range