Définition d'exceptions personnalisées en Python

PythonPythonBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Les exceptions définies par l'utilisateur sont définies par des classes.

class NetworkError(Exception):
    pass

Les exceptions héritent toujours de Exception.

Généralement, il s'agit de classes vides. Utilisez pass pour le corps.

Vous pouvez également créer une hiérarchie de vos exceptions.

class AuthenticationError(NetworkError):
     pass

class ProtocolError(NetworkError):
    pass

Exercice 4.11 : Définition d'une exception personnalisée

Il est souvent une bonne pratique pour les bibliothèques de définir leurs propres exceptions.

Cela facilite la distinction entre les exceptions de Python levées en réponse à des erreurs de programmation courantes et les exceptions intentionnellement levées par une bibliothèque pour signaler un problème d'utilisation spécifique.

Modifiez la fonction create_formatter() de l'exercice précédent de sorte qu'elle lève une exception personnalisée FormatError lorsque l'utilisateur fournit un nom de format incorrect.

Par exemple :

>>> from tableformat import create_formatter
>>> formatter = create_formatter('xls')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "tableformat.py", line 80, in create_formatter
    raise FormatError(f"Unknown table format {name}")
tableformat.FormatError: Unknown table format xls
>>>
✨ Vérifier la solution et pratiquer

Sommaire

Félicitations ! Vous avez terminé le laboratoire sur la définition d'exceptions. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.