ManyErr
ManyErr¶
- class ManyErr[source]¶
Bases:
configpile.userr.Err
Error class that regroups several errors
It must contain at least one error, and it makes sense to use it when there is more than one error present.
This class has special support for pretty-printing a list of errors.
Attributes
Note: attributes inherited from parent classes are not shown here, if any
Contained errors
Methods
Returns an error if the given predicate is false, otherwise returns None.
Collect a possibly empty sequence of (optional) errors into an optional single error
Collect a non-empty sequence of errors into a single error
Returns a sequence of all contained errors
Adds to this error information about the context in which it occurred
Creates a single error
Returns a Markdown-formatted summary of this error (or list of errors)
Pretty prints an error on the console
List of members of ManyErr
- errs: Sequence[configpile.userr.Err1]¶
Contained errors
- errors()[source]¶
Returns a sequence of all contained errors
If this is not a collection of errors
ManyErr
, returns a sequence with a single item, this instance itself.
- in_context(**contexts)[source]¶
Adds to this error information about the context in which it occurred
- __init__(errs)¶
- static check(predicate, msg, **contexts)¶
Returns an error if the given predicate is false, otherwise returns None.
Example
>>> a = -1 >>> b = 2 >>> Err.collect(Err.check(a >= 0, "a < 0"), Err.check(b >= 0, "b < 0")) Err1(msg='a < 0', contexts=[])
- static collect(*errs)¶
Collect a possibly empty sequence of (optional) errors into an optional single error
- static collect1(first_error, *additional_errors)¶
Collect a non-empty sequence of errors into a single error
Example
We can also collect errors coming from a list using the following syntax
>>> errors = [Err.make('err 1'), Err.make('err 2'), Err.make('err 3')] >>> Err.collect1(*errors) ManyErr(errs=...)
- Parameters
- Raises
ValueError – If no error is provided
- Return type
- Returns
A consolidated error
- static make(msg, **contexts)¶
Creates a single error
Example
>>> Err.make("test error") Err1(msg='test error', contexts=[])