カスタム例外を使用して、例外を Python のデフォルトの例外と区別しています。
例外を発生させたときにカスタム終了コードを定義する方法はありますか?
class MyException(Exception):
pass
def do_something_bad():
raise MyException('This is a custom exception')
if __name__ == '__main__':
try:
do_something_bad()
except:
print('Oops') # Do some exception handling
raise
このコードでは、メイン関数が try コードでいくつかの関数を実行します。例外をキャッチした後、トレースバック スタックを保持するために例外を再発生させたいと考えています。
問題は、'raise' が常に 1 で終了することです。カスタム終了コード (カスタム例外用) でスクリプトを終了し、それ以外の場合は 1 で終了したいと考えています。
私はこの解決策を見てきましたが、それは私が探しているものではありません: 例外が発生したときに Python で終了コードを設定する
このソリューションでは、例外がデフォルトであるかカスタムであるかにかかわらず、使用するすべてのスクリプトをチェックインする必要があります。
カスタム例外で、raise 関数にどの終了コードを使用するかを伝えられるようにしたいと考えています。