在Python中,捕获“所有”异常的最佳方法是什么?
except: # do stuff with sys.exc_info()[1]
except BaseException as exc:
except Exception as exc:
捕获可以在线程中执行。
我的目标是记录普通代码可能抛出的任何异常,而不屏蔽任何特殊的Python异常,例如那些指示进程终止等的异常。
还需要获得异常的句柄(例如通过上面包含exc的子句)。
如何引发具有多种原因的python异常,类似于Java的addSuppressed()特性?例如,我有多个方法要尝试的列表,如果它们都不起作用,我想引发一个异常,其中包括所有尝试过的方法的异常。即: exceptions = []
for method in methods_to_try:
try:
method()
except Exception as e:
exceptions.append(e)
if exceptions:
raise Exception("All methods failed") from exceptions 但是这段