python - 在 Python 中,我如何引发自定义异常并进行回溯?

标签 python exception traceback

<分区>

我是 python 新手。 我知道如何在 python 中引发**自定义异常**,并在标准输出上打印一条消息。但是当我处理多个模块和长代码时,同时抛出一个消息异常,我也可以追溯吗?我的意思是追溯是获取错误行,或者说出发生异常的函数和模块名称??我知道我发出的消息可以通过添加更多内容的方式进行修改详细信息。但是我想知道是否有任何内置方法可以做到这一点。

最佳答案

您不必“生成”回溯,Python 会在您引发异常(自定义或内置)时处理此问题。

Python 2.7.3 (default, Feb 27 2014, 19:58:35) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
pythonrc start
pythonrc done
>>> class MyException(Exception): pass
... 
>>> def foo():
...     raise MyException("Hey")
... 
>>> def bar():
...    print "in bar"
...    foo()
... 
>>> bar()
in bar
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 3, in bar
  File "<stdin>", line 2, in foo
__main__.MyException: Hey
>>> 

关于python - 在 Python 中,我如何引发自定义异常并进行回溯?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24822305/

相关文章:

python - python 中的 R data.chisq$residuals 等价于什么?

python - 将扫描的pdf转换为文本python

java - 当异常发生时,是否可以暂停我的 try block ,执行 catch block ,然后再次恢复我的 try block

ruby - 为什么 `rescue`默认不能捕获 `StandardError`以外的异常类?

python - stdin 在 Python 错误中是什么意思?

python - 使用 Pyx 绘制大括号

python - 为什么 "None in numpy.asarray(...)"会导致 future 的警告

java - 将文件传递给另一个方法时出现矛盾的异常

python - 检索方法问题? AttributeError 提示 'str' 对象

python - 如何记录未捕获的崩溃的回溯?