假设我有以下 3 个脚本:
script1.py
script2.py
script3.py
假设我得到这样的回溯:
Traceback (most recent call last):
File "script1.py", line xyz, in ...
...
File "script2.py", line xyz, in ...
...
File "script3.py", line xyz, in ...
...
AttributeError: 'NoneType' object has no attribute 'CoolAttribute'
我在 script3.py 中出现了几个不同的异常。有没有一种方法可以在 script1.py 中的 xyz 行处理这些异常,而不处理 script2.py 中的异常?我只想在 script1.py 的一行中处理源自 script3.py 的异常。
最佳答案
一个简单的肮脏方法是用 try except close 包裹你的 simple3.py 并在任何 script3 异常上引发自定义异常。
class BaseSimpleError(Exception):
"""dummy class for all Simple3 errors"""
try:
...your simple3.py goes here...
except Exception, e:
raise BaseSimpleError()
在 script1 中,您应该导入 BaseSimpleError 并在需要时捕获它。
关于Python 异常处理和引发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25405327/