11

カスタム例外を使用して、例外を 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 関数にどの終了コードを使用するかを伝えられるようにしたいと考えています。

4

1 に答える 1