Code ExceptionGroup · Problème signalé par Python.
Explication traduite
Ces deux types d'exceptions encadrent les exceptions dans la séquence excs. Le paramètre msg doit être une chaîne. La différence entre les deux classes est que BaseExceptionGroup étend BaseException et qu'il peut envelopper n'importe quelle exception, tandis qu'ExceptionGroup étend Exception et il ne peut envelopper que les sous-classes d'Exception. Ce design est de sorte que sauf Exception capture un ExceptionGroup mais non BaseExceptionGroup. Le constructeur BaseExceptionGroup retourne un ExceptionGroup plutôt qu'un BaseExceptionGroup si toutes les exceptions contenues sont des cas d'Exception, de sorte qu'il peut être utilisé pour rendre la sélection automatique. Le constructeur ExceptionGroup, d'autre part, soulève un TypeError si une exception contenue n'est pas une sous-classe d'Exception. Les groupes d'exception sont génériques sur le type de leurs exceptions contenues. Notez que BaseExceptionGroup définit __new_(() ), donc les sous-classes qui ont besoin d'une signature de constructeur différente doivent surpasser cela plutôt que __init__(). Par exemple, ce qui suit définit une sous-classe de groupe d'exception qui accepte un code exit_et construit le message de groupe à partir de celui-ci. Comme ExceptionGroup, toute sous-classe de BaseExceptionGroup qui est aussi une sous-classe d'Exception ne peut envelopper que des instances d'Exception.
OPUS-MT · Helsinki-NLP / CTranslate2 · Il s’agit d’une traduction automatique. Consultez l’original anglais pour les termes techniques et les conditions applicables.
Explication officielle · Texte d’origine
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.
Liens de dépannage et de diagnostic
Vérifiez d’abord que le produit, la version et l’environnement du document correspondent à votre situation.
Modifications : English prose extracted; whitespace normalized; Korean context and classified official links added. Python code examples not redistributed. Les explications traduites sont signalées comme des traductions automatiques.