考慮する
try:
import someProprietaryModule
except ImportError:
raise ImportError('It appears that <someProprietaryModule> is not installed...')
実行時に 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...
おそらく、「上記の例外の処理中...」行 (およびその上の行) を表示したくないでしょう。次のようにします。
_moduleInstalled = True
try:
import someProprietaryModule
except ImportError:
_moduleInstalled = False
if not _moduleInstalled:
raise ImportError('It appears that <someProprietaryModule> is not installed...')
しかし、それはちょっとハックのように感じます。他に何ができるでしょうか?
ベストアンサー1
Python 3.3 以降ではraise ... from None
この状況で使用できます。
try:
import someProprietaryModule
except ImportError:
raise ImportError('It appears that <someProprietaryModule> is not installed...') from None
望ましい結果が得られました。