0

これに似たPythonコードにセットアップがあります:

def a():
    raise MyUserDefinedException()

def b():
    a()

def c():
    a()

def d():
    b()
    c()

def main():
    try:
        d()
    except MyUserDefinedException as e
        print e

ただし、例外がb()またはc()のどちらで発生したかに応じて、異なるものを出力したいと考えています。さまざまな設計上の理由から、すべての印刷を main() で処理する必要があります。

これについて最善の方法は何ですか?MyUserDefinedException をキャッチする b() と c() に、そのメソッドに固有の新しい例外を発生させるための try-catch ブロックが必要ですか、それともトレースを検査するクリーンな方法がありますか?

4

0 に答える 0