如何在Python中获取详细的异常?[复制]

How to Get Detailed Exception in Python? [duplicate]

提问人:Tuğberk Yıldırım 提问时间:7/29/2023 最后编辑:Tuğberk Yıldırım 更新时间:8/2/2023 访问量:43

问:

我确实收到异常消息,但响应异常消息是 。 我想要的异常消息类型:TypeError: 'int' object is not subscriptable

FileName.py or ClassName
[Line Number] Message  Exception Message

我想在 try except 中打印这个。

python-3.x 异常

评论


答:

0赞 jagmitg 7/29/2023 #1

我会使用模块来帮助获取异常的详细信息,包括文件名、行号和实际错误消息。traceback

下面是一个示例

import traceback

try:
    # Insert your code here

except Exception as e:
    tb = traceback.extract_tb(e.__traceback__) # get the traceback object
    last_trace = tb[-1] # get the last trace
    line_number = last_trace.lineno # line number
    filename = last_trace.filename # file name
    function_name = last_trace.name # function or method name
    exception_message = str(e) # exception message

    print(f'{filename} or {function_name}')
    print(f'[{line_number}] {exception_message}')
0赞 azro 7/29/2023 #2

traceback.print_exc()

import traceback
try:
    a()
except Exception as e:
    traceback.print_exc()