|
Python可以打印跟踪出来的错误行号。
如果你想打印Traceback(错误堆栈跟踪),你可以使用traceback模块。traceback模块提供了多种方式来捕获、格式化和打印错误堆栈。如果你想打印出Traceback的行数(即错误发生在哪一行),你可以使用traceback.extract_tb()函数。
以下是如何使用traceback模块打印Traceback的行数的一个示例:
- import traceback
-
- def example_function():
- raise ValueError("An error occurred")
-
- try:
- example_function()
- except Exception as e:
- # 获取当前的堆栈跟踪
- tb = traceback.extract_tb(e.__traceback__)
- # 打印堆栈跟踪的每一项,包括文件名、行号、函数名和代码行
- for item in tb:
- print(f"File: {item.filename}, Line: {item.lineno}, Function: {item.name}, Code: {item.line.strip()}")
复制代码 traceback.extract_tb(e.__traceback__)会返回一个包含Traceback条目的列表,每个条目都是一个traceback.FrameSummary对象,其中包含了文件名、行号、函数名和代码行。通过遍历这个列表,你可以打印出每一项的详细信息。
如果你只关心文件名和行号,可以简化输出:
- import traceback
-
- def example_function():
- raise ValueError("An error occurred")
-
- try:
- example_function()
- except Exception as e:
- # 获取当前的堆栈跟踪并格式化为字符串
- stack_trace = traceback.format_exc()
- print(stack_trace)
复制代码
|
|