我的 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() 中处理。
解决此问题的最佳方法是什么?我是否应该在 b() 和 c() 中有一个 try-catch 块来捕获 MyUserDefinedException 引发特定于该方法的新异常,或者是否有一种检查跟踪的干净方法?