Что означает этот код?
Код BaseExceptionGroup · Проблема, о которой сообщает Python.
Перевод описания
Оба типа исключений обернут исключения в exc. Параметры msg должны быть струной. Разница между двумя классами заключается в том, что группа BaseException Расширяет Базовую Исключительную группу и она может обернуть любое исключение, в то время как Группа исключения распространяет исключение и она может обернуть только подклассы исключения. Этот дизайн таков, что, за исключением исключения, группа исключения, но не Группа Базовая Группа Исключения. Конструктор группы BaseEsception возвращает группу исключения, а не группу Базовой Исключительной группы, если все из них содержат исключения, так что он может использоваться для автоматического отбора. Конструктор группы исключения, с другой стороны, поднимает тип Error, если какое-либо исключение не относится к подклассу исключения. За исключением групп, они являются общими по типу их исключений. Группа определяет __new_(), так что подклассы, которым нужна другая подпись строитель, должны отменить это, а не __init_(). Например, ниже приводится определение подкласса группы исключения, который принимает вывод_код и создает сообщение группы . Как и группа исключения, любой подкласс группы BaseException Group, который также является подклассом исключения, может обернуть только случаи исключения.
OPUS-MT · Helsinki-NLP / CTranslate2 · Это автоматический перевод. Технические термины и условия применения сверяйте с английским оригиналом.
Официальное описание · Оригинал
Both of these exception types wrap the exceptions in the sequence excs. The msg parameter must be a string. The difference between the two classes is that BaseExceptionGroup extends BaseException and it can wrap any exception, while ExceptionGroup extends Exception and it can only wrap subclasses of Exception. This design is so that except Exception catches an ExceptionGroup but not BaseExceptionGroup.
The BaseExceptionGroup constructor returns an ExceptionGroup rather than a BaseExceptionGroup if all contained exceptions are Exception instances, so it can be used to make the selection automatic. The ExceptionGroup constructor, on the other hand, raises a TypeError if any contained exception is not an Exception subclass.
Exception groups are generic over the type of their contained exceptions.
Note that BaseExceptionGroup defines __new__(), so subclasses that need a different constructor signature need to override that rather than __init__(). For example, the following defines an exception group subclass which accepts an exit_code and constructs the group’s message from it.
Like ExceptionGroup, any subclass of BaseExceptionGroup which is also a subclass of Exception can only wrap instances of Exception.