如何在Python中获取详细的异常?[副本]

hrysbysz  于 2023-08-08  发布在  Python
关注(0)|答案(2)|浏览(75)

此问题在此处已有答案

Getting exception details in Python(4个答案)
9天前关闭。
我确实收到异常消息,但响应异常消息是TypeError: 'int' object is not subscriptable。我想要的异常消息类型:

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

字符串
我想在try中打印这个除了。

idv4meu8

idv4meu81#

我将使用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}')

字符串

nwnhqdif

nwnhqdif2#

使用traceback.print_exc()

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

字符串

相关问题