2016-07-01 10 views
1

が提起した(特定の)一般的な例外をキャッチ、私は特定の状況下でのモジュールのITの一つで、一般的なExceptionを提起する外部ライブラリを使用しています:は、外部ライブラリ

if some_condition: 
    raise Exception('DSSP failed to produce an output') 

これはほんの数edge-で発生します私は捕まえて扱いたいものです。

generic Exceptionを上げるために元のコーダーを呪う以外に、私の選択肢は何ですか?私は、この特定の行を元のコードで捕捉して処理したいだけです。これに対処する最もPythonicな方法は何ですか?

答えて

2

キャッチException、それはあなたが探している例外ではない場合リレイズ:

try: 
    do_thing() 
except Exception as e: 
    if type(e) is not Exception: 
     # Not what we're looking for. Let it pass. 
     raise 
    handle(e) 

あなたが本当にそれはあなたが探している例外だことを確認したい場合は、他のいくつかのチェックを追加することができ、など例外のmessageを調べます。

+0

乾杯、それはまさに私が探していたものです。 –

関連する問題