Python Gestion des exceptions : try, except, finally, raise

โšก Rรฉsumรฉ intelligent

Python La gestion des exceptions permet ร  votre programme de rรฉagir aux erreurs d'exรฉcution au lieu de planter. Vous dรฉcouvrirez ici le fonctionnement des blocs try, except, finally et raise, l'importance des exceptions et les types d'erreurs intรฉgrรฉs les plus courants.

  • โš ๏ธ Qu'est-ce que c'est: Une exception est une erreur d'exรฉcution qui Python Augmente le montant des dรฉpenses lorsqu'un problรจme survient.
  • ๐Ÿ›ก๏ธ essayer / sauf : Un bloc try exรฉcute du code risquรฉ ; except intercepte et gรจre l'exception.
  • ๐Ÿงน enfin: Un bloc finally s'exรฉcute toujours, qu'une exception se soit produite ou non.
  • ๐Ÿš€ augmenter: L'instruction raise permet de dรฉclencher une exception intentionnellement.
  • ๐Ÿ“‹ Types d'erreurs : Les exceptions courantes incluent ValueError, KeyError, IndexError et ZeroDivisionError.
  • ๐Ÿค– Aide de l'IA : Les outils d'IA comme Copilot gรฉnรจrent des blocs try-except et suggรจrent des types d'erreurs.

Python Gestion des exceptions

Qu'est-ce qu'une gestion des exceptions dans Python?

Une exception est une erreur qui se produit lors de l'exรฉcution d'un programme. Cependant, lors de l'exรฉcution d'un programme, Python gรฉnรจre une exception qui doit รชtre gรฉrรฉe pour รฉviter que votre programme ne plante. Dans Python langage, les exceptions se dรฉclenchent automatiquement en cas d'erreurs, ou elles peuvent รชtre dรฉclenchรฉes et interceptรฉes par votre code.

L'exception indique que, mรชme si l'รฉvรฉnement peut se produire, ce type d'รฉvรฉnement se produit rarement. Lorsque la mรฉthode n'est pas capable de gรฉrer l'exception, elle est renvoyรฉe ร  sa fonction appelante. Finalement, lorsqu'une exception est levรฉe hors de la fonction principale, le programme se termine brusquement.

Exemples courants d'exception

  • Division par zรฉro
  • Accรฉder ร  un fichier qui n'existe pas.
  • Ajout de deux types incompatibles
  • Essayer d'accรฉder ร  un index inexistant d'une sรฉquence
  • Suppression de la table du serveur de base de donnรฉes dรฉconnectรฉ.
  • Retrait au distributeur supรฉrieur au montant disponible

Pourquoi devriez-vous utiliser des exceptions ?

Voici les raisons d'utiliser des exceptions dans Python:

  • La gestion des exceptions vous permet de sรฉparer le code de gestion des erreurs du code normal.
  • Une exception est un Python objet ce qui reprรฉsente une erreur.
  • Comme pour les commentaires de code, les exceptions vous aident ร  vous rappeler ce que le programme attend.
  • Il clarifie le code et amรฉliore la lisibilitรฉ.
  • Vous permet de stimuler les consรฉquences car la gestion des erreurs a lieu ร  un seul endroit et d'une seule maniรจre.
  • Une exception est une mรฉthode pratique pour gรฉrer les messages dโ€™erreur.
  • In Python, vous pouvez dรฉclencher une exception dans le programme en utilisant la mรฉthode raise exception.
  • La gรฉnรฉration d'une exception vous aide ร  interrompre l'exรฉcution du code en cours et ramรจne l'exception ร  l'attente jusqu'ร  ce qu'elle soit gรฉrรฉe.
  • Traitement des exceptions pour les composants qui ne peuvent pas les gรฉrer directement.

Rรจgles d'exception

Voici quelques rรจgles essentielles de Python gestion des exceptions :

  • Les exceptions doivent รชtre des objets de classe
  • Pour les exceptions de classe, vous pouvez utiliser l'instruction try avec une clause except qui mentionne une classe particuliรจre.
  • Mรชme si une instruction ou une expression est syntaxiquement correcte, elle peut afficher une erreur lorsqu'on tente de l'exรฉcuter.
  • Les erreurs trouvรฉes lors de lโ€™exรฉcution sont appelรฉes exceptions et elles ne sont pas inconditionnellement fatales.

Python Mรฉcanisme de gestion des exceptions

La gestion des exceptions est gรฉrรฉe par les 5 mots-clรฉs suivants :

  1. Essai
  2. capture
  3. enfin
  4. renversement

Python Essayez la dรฉclaration

Une instruction try comprend le mot-clรฉ try, suivi de deux points (:) et d'une suite de code dans laquelle des exceptions peuvent se produire. Il comporte une ou plusieurs clauses.

Lors de l'exรฉcution de l'instruction try, si aucune exception ne s'est produite, l'interprรฉteur ignore les gestionnaires d'exceptions pour cette instruction try spรฉcifique.

Dans le cas oรน une exception se produit dans une suite try, la suite try expire et le contrรดle du programme est transfรฉrรฉ au gestionnaire except correspondant qui suit la suite try.

Syntax:
try:
statement(s)

La dรฉclaration catch

Les blocs catch acceptent un argument ร  la fois, ce qui correspond au type dโ€™exception quโ€™ils sont susceptibles dโ€™intercepter. Ces arguments peuvent aller dโ€™un type spรฉcifique dโ€™exception pouvant รชtre modifiรฉ ร  une catรฉgorie fourre-tout dโ€™exceptions.

Rรจgles pour le bloc catch :

  • Vous pouvez dรฉfinir un bloc catch en utilisant le mot-clรฉ catch
  • Le paramรจtre Catch Exception est toujours entre parenthรจses
  • Il reprรฉsente toujours le type dโ€™exception gรฉrรฉ par le bloc catch.
  • Un code de gestion des exceptions est รฉcrit entre deux accolades {}.
  • Vous pouvez placer plusieurs blocs catch dans un seul bloc try.
  • Vous ne pouvez utiliser un bloc catch quโ€™aprรจs le bloc try.
  • Tous les blocs catch doivent รชtre classรฉs de la sous-classe ร  lโ€™exception de la superclasse.

Exemple :

try
}
catch (ArrayIndexOutOfBoundsException e) {
System.err.printin("Caught first " + e.getMessage()); } catch (IOException e) {
System.err.printin("Caught second " + e.getMessage());
}

Enfin, dรฉclaration dans Python

Enfin, le bloc s'exรฉcute toujours, qu'une exception soit levรฉe ou non. Le mot-clรฉ final permet de crรฉer un bloc de code qui suit un bloc try-catch.

Enfin, la clause est facultative. Il est destinรฉ ร  dรฉfinir les actions de nettoyage qui doivent รชtre celles exรฉcutรฉes dans toutes les conditions.

try:
    raise KeyboardInterrupt
finally:
    print 'welcome, world!'
Output
Welcome, world!
KeyboardInterrupt

Enfin, la clause est exรฉcutรฉe avant l'instruction try.

Augmenter la dรฉclaration dans Python

L'instruction raise spรฉcifie un argument qui initialise l'objet exception. Ici, une virgule suit le nom de l'exception et l'argument ou le tuple de l'argument qui suit la virgule.

syntaxe:

raise [Exception [, args [, traceback]]]

Dans cette syntaxe, l'argument est facultatif et au moment de l'exรฉcution, la valeur de l'argument d'exception est toujours nulle.
Exemple :
A Python l'exception peut รชtre n'importe quelle valeur comme une chaรฎne, une classe, un nombre ou un objet. La plupart de ces exceptions soulevรฉes par Python core sont des classes avec un argument qui est une instance de la classe.

Important Python Erreurs

Type d'erreur Description
Erreur Arithmรฉtique ArithmeticError agit comme une classe de base pour toutes les exceptions arithmรฉtiques. Il est dรฉclenchรฉ pour les erreurs dans les opรฉrations arithmรฉtiques.
Erreur d'importation L'erreur ImportError est levรฉe lorsque vous tentez d'importer un module absent. Ce type d'exception se produit si vous avez effectuรฉ une opรฉration incorrecte.ping erreur dans le nom du module ou module absent du chemin standard.
Erreur d'index Une IndexErro est gรฉnรฉrรฉe lorsque vous essayez de faire rรฉfรฉrence ร  une sรฉquence hors de portรฉe.
Erreur de clรฉ Lorsqu'une clรฉ spรฉcifique n'est pas trouvรฉe dans un dictionnaire, une exception KeyError est levรฉe.
NomErreur Une NameError est levรฉe lorsqu'un nom est mentionnรฉ dans un code qui n'existe jamais dans l'espace de noms local ou global.
Erreur de valeur Une erreur de valeur est gรฉnรฉrรฉe lorsqu'une fonction ou une opรฉration intรฉgrรฉe reรงoit un argument qui peut รชtre de type correct mais qui n'a pas de valeur appropriรฉe.
EOFerreur Ce type d'erreur se produit lorsque l'une des fonctions intรฉgrรฉes (input() ou raw_input()) atteint une condition EOF sans lire aucune donnรฉe.
ErreurDivisionZรฉro Ce type d'erreur se produit lorsque la division ou le module par zรฉro a lieu pour tous les types numรฉriques.
Erreur IOEr- Ce type d'erreur se produit lorsqu'une opรฉration d'entrรฉe/sortie รฉchoue.
erreur de syntaxe SyntaxErrors dรฉclenchรฉ lorsqu'il y a une erreur dans Python syntaxe.
Erreur d'indentation Cette erreur se produit lorsque l'indentation n'est pas correctement dรฉfinie

Autre important Python Exceptions

Exception Description
ArithmรฉtiqueException Erreur arithmรฉtique, telle que division par zรฉro.
ArraylndexOutOfBoundsException L'index du tableau est hors limites.
ArrayStoreException L'affectation vous aide ร  identifier l'รฉlรฉment de tableau d'un type incompatible.
ClassCastException Casting invalide
MlegalMonitorStateException Fonctionnement illรฉgal du moniteur, comme attendre un fil de discussion dรฉverrouillรฉ.
MlegalStateException L'environnement ou l'application est dans un mauvais รฉtat.
ClassNotFoundException Classe introuvable.
CloneNotSupportedException Tentative de cloner un objet qui n'implรฉmente pas l'interface Cloneable.
Exception d'accรจs illรฉgal L'accรจs ร  un cours est refusรฉ.
Exception d'instanciation Cela se produit lorsque vous tentez de crรฉer un objet d'interface ou d'abstracclasse t.
CloneNotSupportedException Tentative de cloner un objet qui n'implรฉmente pas l'interface.

Erreur et exceptions

Erreur Exceptions
Toutes les erreurs dans Python sont du type non cochรฉ. Les exceptions incluent les types cochรฉs et non cochรฉs.
Des erreurs se produisent au moment de l'exรฉcution et sont inconnues du compilateur. Les exceptions peuvent รชtre rรฉcupรฉrรฉes en les gรฉrant ร  l'aide de blocs try-catch.
Les erreurs sont principalement causรฉes par lโ€™environnement dans lequel une application sโ€™exรฉcute. L'application elle-mรชme provoque des exceptions.
Exemples :
Erreur de mรฉmoire insuffisante
Exemples :
Exceptions vรฉrifiรฉes, exception SQL, NullPointerException, etc.

FAQ

La gestion des exceptions est le processus de rรฉponse aux erreurs d'exรฉcution afin que votre programme ne plante pas. Python utilise des blocs try et except pour intercepter les exceptions et exรฉcuter du code de rรฉcupรฉration ร  la place.

Code Cette opรฉration susceptible d'รฉchouer est placรฉe dans un bloc try. Si une exception se produit, Python Le programme passe au bloc except correspondant, qui gรจre l'erreur et permet de continuer.

Un bloc finally s'exรฉcute qu'une exception soit levรฉe ou non ; il est donc idรฉal pour les tรขches de nettoyage telles que la fermeture de fichiers ou la libรฉration de ressources qui doivent toujours avoir lieu.

L'instruction raise dรฉclenche intentionnellement une exception. Vous pouvez dรฉclencher une exception intรฉgrรฉe comme ValueError, ou une exception personnalisรฉe, pour signaler qu'une erreur s'est produite.

Les erreurs, comme une erreur de syntaxe, sont gรฉnรฉralement irrรฉcupรฉrables et interrompent l'exรฉcution du programme. Les exceptions sont des รฉvรฉnements d'exรฉcution que vous pouvez intercepter et gรฉrer ร  l'aide des blocs try et except.

Les assistants IA comme GitHub Copilot complรจtent automatiquement les blocs try-except, suggรจrent le type d'exception appropriรฉ ร  intercepter et gรฉnรจrent finalement le code de nettoyage ร  partir d'une brรจve description de votre logique.

Oui. Les outils basรฉs sur l'IA peuvent automatiser l'emballage.ping ร‰vitez le code risquรฉ dans les blocs try-except, privilรฉgiez les exceptions spรฉcifiques plutรดt que le simple bloc except, et ajoutez des journaux d'รฉvรฉnements pour faciliter le dรฉbogage des erreurs.

Les exceptions intรฉgrรฉes courantes incluent ValueError, TypeError, KeyError, IndexError, ImportError, NameError et ZeroDivisionError. Chacune signale un type spรฉcifique de problรจme d'exรฉcution dans votre code.

Rรฉsumez cet article avec :