自定义回溯信息
Coddy Python 异常处理 课程的第 16 课,共 16 课。
运行下面的程序时,你会在输出窗口中看到回溯详情、异常和异常的标准消息。
print(100 + "hello")上面的程序会生成以下输出:
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
print(100+'hello')
TypeError: unsupported operand type(s) for +: 'int' and 'str'前 3 行是回溯详情,其中包含行号、文件名、语句等信息。
最后一行是异常:异常的标准消息。
发生异常时,会调用包含以下参数的 sys.excepthook() 函数。
- exc_type:发生的异常类型。
- exc_value :异常的标准消息。
- exc_traceback:回溯详情。
sys.excepthook() 随后会将这些参数作为标准错误打印到输出窗口中。
挑战
简单重写 sys.excepthook 函数,以便在发生异常时自定义消息并将其打印到输出窗口。对于上面的 Python 语句,它应该只打印 "Something Went Wrong!",然后打印异常的标准消息。
亲手试试
import sys
def my_exception(exc_type, exc_value, exc_traceback):
#在这里编写你的代码
#通过赋值进行覆盖
def add(val1, val2):
print(val1+val2)Python 异常处理中的所有课
自己练习: Python 在线编译器