Ham*_*ite 24 python exception traceback python-3.x python-3.3
考虑
try:
import someProprietaryModule
except ImportError:
raise ImportError('It appears that <someProprietaryModule> is not installed...')
Run Code Online (Sandbox Code Playgroud)
运行时,如果未安装someProprietaryModule,则可以看到:
(traceback data)
ImportError: unknown module: someProprietaryModule
During handling of the above exception, another exception occurred:
(traceback data)
ImportError: It appears that <someProprietaryModule> is not installed...
Run Code Online (Sandbox Code Playgroud)
也许我不希望出现"在处理上述异常......"行(以及它上面的行).我能做到这一点:
_moduleInstalled = True
try:
import someProprietaryModule
except ImportError:
_moduleInstalled = False
if not _moduleInstalled:
raise ImportError('It appears that <someProprietaryModule> is not installed...')
Run Code Online (Sandbox Code Playgroud)
但这感觉有点像黑客.我还能做什么?
Ham*_*ite 39
在Python 3.3和更高版本中raise ... from None可能会使用这种情况.
try:
import someProprietaryModule
except ImportError:
raise ImportError('It appears that <someProprietaryModule> is not installed...') from None
Run Code Online (Sandbox Code Playgroud)
这具有期望的结果.