File tree Expand file tree Collapse file tree 2 files changed +12
-5
lines changed
Expand file tree Collapse file tree 2 files changed +12
-5
lines changed Original file line number Diff line number Diff line change @@ -80,3 +80,11 @@ class DefiniteValidationError(ValidationError):
8080 """Indicates a definite violation that will occur at runtime."""
8181
8282 pass
83+
84+
85+ class ValidationErrorGroup (BaseException ):
86+ """Container for multiple validation errors (Python 3.10+ compatible)."""
87+
88+ def __init__ (self , message : str , errors : list [ValidationError ]) -> None :
89+ super ().__init__ (message )
90+ self .errors = errors
Original file line number Diff line number Diff line change 33from dataclasses import field , dataclass
44
55from kirin import ir
6- from kirin .ir .exception import ValidationError
6+ from kirin .ir .exception import ValidationError , ValidationErrorGroup
77
88T = TypeVar ("T" )
99
@@ -180,9 +180,8 @@ def raise_if_invalid(self):
180180 """Raise an exception if validation failed."""
181181 if not self .is_valid :
182182 exceptions = []
183- for pass_name , pass_errors in self .errors .items ():
184- for err in pass_errors :
185- exceptions .append (err )
183+ for _ , pass_errors in self .errors .items ():
184+ exceptions .extend (pass_errors )
186185
187186 message = self ._format_errors ()
188- raise ExceptionGroup (message , exceptions )
187+ raise ValidationErrorGroup (message , errors = exceptions )
You can’t perform that action at this time.
0 commit comments