| 
 | 
 
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)
 
  复制代码 
 
 |   
 
 
 
 |