Issue
Consider
try:
import someProprietaryModule
except ImportError:
raise ImportError('It appears that <someProprietaryModule> is not installed...')
When run, if someProprietaryModule is not installed, one sees:
(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...
Perhaps I don't want the "During handling of the above exception..." line (and the lines above it) to appear. I could do this:
_moduleInstalled = True
try:
import someProprietaryModule
except ImportError:
_moduleInstalled = False
if not _moduleInstalled:
raise ImportError('It appears that <someProprietaryModule> is not installed...')
But that feels like a bit of a hack. What else might I do?
Solution
In Python 3.3 and later raise ... from None
may be used in this situation.
try:
import someProprietaryModule
except ImportError:
raise ImportError('It appears that <someProprietaryModule> is not installed...') from None
This has the desired results.
Answered By - Hammerite
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.