我收到一个包含错误消息的列表.我想一次引发多个自定义错误,每个错误都包含列表中的文本:
class CustomError(Exception):
def __init__(self, text):
self.text = text
def __str__(self):
return self.text
errors = [
'error1', 'error2', 'error3'
]
我收到一个包含错误消息的列表.我想一次引发多个自定义错误,每个错误都包含列表中的文本:
class CustomError(Exception):
def __init__(self, text):
self.text = text
def __str__(self):
return self.text
errors = [
'error1', 'error2', 'error3'
]
你可以在Python3.11+中筹集ExceptionGroup
美元:
class CustomError(Exception):
def __init__(self, text):
self.text = text
def __str__(self):
return self.text
errors = ["error1", "error2", "error3"]
raise ExceptionGroup("Error Message", [CustomError(e) for e in errors])
输出:
+ Exception Group Traceback (most recent call last):
| File "", line 12, in <module>
| raise ExceptionGroup("Error Message", [CustomError(e) for e in errors])
| ExceptionGroup: Error Message (3 sub-exceptions)
+-+---------------- 1 ----------------
| CustomError: error1
+---------------- 2 ----------------
| CustomError: error2
+---------------- 3 ----------------
| CustomError: error3
+------------------------------------
您还可以处理by ExceptionGroup
或最好是新的except*
语法.
点击此处了解更多信息:https://peps.python.org/pep-0654/