在拦网除外蟒蛇,我想打印错误消息,但我不希望程序停止执行,我知道我必须做这样的事情Java的的printStackTrace(),相当于在python
try:
1/0
except:
print errorMessage
在除了部分,我正在寻找类似java的printStackTrace()
在拦网除外蟒蛇,我想打印错误消息,但我不希望程序停止执行,我知道我必须做这样的事情Java的的printStackTrace(),相当于在python
try:
1/0
except:
print errorMessage
在除了部分,我正在寻找类似java的printStackTrace()
看看traceback.print_exc()
和traceback
模块的其余部分。
import traceback
try:
1/0
except:
print '>>> traceback <<<'
traceback.print_exc()
print '>>> end of traceback <<<'
您还可以使用logging
模块中的logging.exception
。它会将当前异常的堆栈跟踪打印到默认的记录器中,作为严重性为ERROR
的消息。
链接:http://docs.python.org/2/library/logging.html#logging.Logger.exception
如果你真的只是想的错误信息,您可以只打印错误(注意我是如何规定的除外,这是很好的做法外,看pep8为您推荐捕获错误):
try:
1/0
except Exception as e:
print e
但是,如果你想stackstrace,作为@Eddified在评论说,你可以在this answer使用的例子。或者更具体地说为您的情况:
import traceback
try:
1/0
except Exception as e:
print e
traceback.print_stack()
只是一个单挑,[print_stack](http://docs.python.org/2/library/traceback.html#traceback.print_stack)只是从你所在的任何代码行打印堆栈,而[print_exc()打印异常的堆栈跟踪](http://docs.python.org/2/library/traceback.html#traceback.print_exception)。 – abelito
要打印堆栈跟踪,而不会导致异常时提出,请参阅:http://stackoverflow.com/questions/3925248/print-python-stack-trace-without-异常被抛出 – Eddified