Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 打印异常_Python_Exception_Printing - Fatal编程技术网

Python 打印异常

Python 打印异常,python,exception,printing,Python,Exception,Printing,我正在编写一个捕获错误(或异常)的小脚本。但是,当异常发生时,我希望获得所有信息,如回溯、异常名称和异常消息。如果未捕获异常,但不应影响以下代码,则该脚本也应起作用(即,应该出现错误,但脚本不会停止工作)。 例如:在下面的代码中,将引发异常。如果发生这种情况(并且只有在发生这种情况时),我想进行“清理” 试试看: 1/0 例外情况除外,如e: #打印异常,就像没有捕获到异常一样: #回溯(最近一次呼叫最后一次): #文件“”,第1行,在 #ZeroDivisionError:整数除法或模零除法

我正在编写一个捕获错误(或异常)的小脚本。但是,当异常发生时,我希望获得所有信息,如回溯、异常名称和异常消息。如果未捕获异常,但不应影响以下代码,则该脚本也应起作用(即,应该出现错误,但脚本不会停止工作)。
例如:在下面的代码中,将引发异常。如果发生这种情况(并且只有在发生这种情况时),我想进行“清理”

试试看:
1/0
例外情况除外,如e:
#打印异常,就像没有捕获到异常一样:
#回溯(最近一次呼叫最后一次):
#文件“”,第1行,在
#ZeroDivisionError:整数除法或模零除法
#通过回溯,将显示异常名称和异常消息。
#做一些额外的事情。
通过
我不打算使用记录器,因为脚本非常智能(不超过100行),而且它只供我使用


编辑:我正在使用python 2.x

您需要使用回溯模块:

import traceback
try:
    raise Exception('what')
except Exception:
    print(traceback.format_exc())
您可以解决以下问题:

如果没有捕获到异常,它也应该起作用


使用谷歌。。我想你的意思是它应该“表现得好像异常没有被提出”而不是被捕获。。。因为如果它没有被捕获,你会为你打印回溯,对吗?不可执行:如果没有异常(应该出现错误),它也应该起作用,但是下面的代码不能受到它的影响。所以你的意思是“如果没有引发异常,它也应该起作用。”?它们非常不同。Edit:notexectly:如果没有异常(应该出现错误),它也应该起作用,但是下面的代码不能受到它的影响。
import traceback
try:
    raise Exception('what')
except Exception:
    print(traceback.format_exc())
try:
    1 / 0
except Exception as e: 
    do_cleanup(e)
    raise