当除法运算的分母中出现零时,会引发 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
当函数接收到类型正确但值无效的值时,会使用 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
TypeErrors 是由组合错误类型的对象或使用错误类型的对象调用函数引起的。示例import sys try : ny = 'Statue of Liberty' my_list = [3, 4, 5, 8, 9] print my_list + ny except TypeError as e: print e print sys.exc_type输出can only concatenate list (not ""str") to list
当解析器发现不遵循缩进规则的源代码时,会发生 IndentationError。在导入模块时,我们可以捕获它,因为模块将在第一次导入时编译。您无法在包含 try/except 块的同一模块中捕获它,因为对于此异常,Python 将无法完成模块的编译,并且不会运行模块中的任何代码。我们将给定代码重写如下,以处理异常示例try: def f(): z=['foo', 'bar'] for i in z: if i == 'foo': except IndentationError as e: print e输出"C:/Users/TutorialsPoint1/~.py", line 5 if i ... 阅读更多