sys.exc_info()应用实例
时间: 2023-11-22 15:54:35 浏览: 155
EXCEL 应用实例
`sys.exc_info()` 是 Python 内置的一个函数,用于获取当前异常的相关信息。它返回一个包含三个元素的元组,分别是最近一次异常的类型、异常对象和 traceback 对象。
以下是一个 `sys.exc_info()` 的应用实例:
```python
import sys
def divide(a, b):
try:
result = a / b
except:
exc_type, exc_obj, exc_tb = sys.exc_info()
print(f"Error: {exc_type.__name__} - {exc_obj} - line {exc_tb.tb_lineno}")
else:
return result
print(divide(4, 2)) # Output: 2.0
print(divide(4, 0)) # Output: Error: ZeroDivisionError - division by zero - line 6
```
在上面的代码中,我们定义了一个 `divide()` 函数来执行两个数字之间的除法运算。在 `try` 块中执行除法运算,如果出现异常,则使用 `sys.exc_info()` 函数获取异常的类型、异常对象和 traceback 对象,并打印出来。
当我们调用 `divide(4, 2)` 时,除法运算成功,返回结果 2.0。但是,当我们调用 `divide(4, 0)` 时,除数为 0,会抛出 `ZeroDivisionError` 异常。程序会捕获该异常并使用 `sys.exc_info()` 函数获取相关信息,最终输出异常的类型、异常对象和发生异常的行号。
阅读全文