logo

Essayez, sauf, sinon et enfin en Python

Une exception est un événement inattendu qui se produit lors de l'exécution du programme. Il est également connu sous le nom de erreur d'exécution . Lorsque cette erreur se produit, Python génère une exception lors de l'exécution et qui peut être gérée, ce qui empêche votre programme de s'interrompre.

Exemple: Dans ce code, le système ne peut pas diviser le nombre par zéro, une exception est donc levée.



Python3








a>=> 5> b>=> 0> print>(a>/>b)>

>

>

Sortir

Traceback (most recent call last): File '/home/8a10be6ca075391a8b174e0987a3e7f5.py', line 3, in print(a/b) ZeroDivisionError: division by zero>

Gestion des exceptions avec try, except, else et enfin

  • Essayer  : Ce bloc testera que l'erreur exceptée se produise
  • Sauf  : Ici, vous pouvez gérer l'erreur
  • Autre : S'il n'y a pas d'exception alors ce bloc sera exécuté
  • Enfin : Enfin, le bloc est toujours exécuté, qu'une exception soit générée ou non

Python Try, Except, else et Enfin Syntaxe

try: # Some Code.... except: # optional block # Handling of exception (if required) else: # execute if no exception finally: # Some code .....(always executed)>

Fonctionnement de ' essayer' et 'sauf'

Comprenons d'abord comment le Python essaie et sauf travaux

  • D'abord essayer la clause est exécutée, c'est-à-dire le code entre essayer et sauf clause.
  • S'il n'y a pas d'exception, alors seulement essayer la clause sera exécutée, sauf la clause ne sera pas exécutée.
  • Si une exception se produit, le essayer la clause sera ignorée et sauf la clause sera exécutée.
  • Si une exception se produit, mais que le sauf La clause dans le code ne le gère pas, elle est transmise au serveur externe. essayer déclarations. Si l'exception n'est pas gérée, l'exécution s'arrête.
  • UN essayer l'instruction peut en avoir plusieurs sauf clause.

Exemple: Essayons de prendre l'entrée entière de l'utilisateur et de lancer l'exception dans le bloc except.

Python3




villes en Australie
# Python code to illustrate working of try()> def> divide(x, y):> >try>:> ># Floor Division : Gives only Fractional> ># Part as Answer> >result>=> x>/>/> y> >print>(>'Yeah ! Your answer is :'>, result)> >except> ZeroDivisionError:> >print>(>'Sorry ! You are dividing by zero '>)> > # Look at parameters and note the working of Program> divide(>3>,>2>)> divide(>3>,>0>)>

>

>

Sortir:

Yeah ! Your answer is : 1 Sorry ! You are dividing by zero>

Détecter plusieurs exceptions en Python

Voici un exemple qui montre comment utiliser plusieurs clauses except pour gérer différentes exceptions :

Python3




try>:> >x>=> int>(>input>(>'Enter a number: '>))> >result>=> 10> /> x> except> ZeroDivisionError:> >print>(>'You cannot divide by zero.'>)> except> ValueError:> >print>(>'Invalid input. Please enter a valid number.'>)> except> Exception as e:> >print>(f>'An error occurred: {e}'>)>

>

>

Sortir:

Enter a number: An error occurred: EOF when reading a line>

Clauses sinon en Python

Le code entre dans le bloc else uniquement si la clause try ne déclenche pas d'exception.

Exemple: Sinon, le bloc s'exécutera seulement quand aucune exception ne se produit .

Python3




# Python code to illustrate working of try()> def> divide(x, y):> >try>:> ># Floor Division : Gives only Fractional> ># Part as Answer> >result>=> x>/>/> y> >except> ZeroDivisionError:> >print>(>'Sorry ! You are dividing by zero '>)> >else>:> >print>(>'Yeah ! Your answer is :'>, result)> > # Look at parameters and note the working of Program> divide(>3>,>2>)> divide(>3>,>0>)>

>

>

Sortir:

Yeah ! Your answer is : 1 Sorry ! You are dividing by zero>

Python enfinMots clés

Python fournit un mot-clé enfin , lequel est toujours exécuté après avoir essayé et excepté les blocs. Le bloc final s'exécute toujours après la fin normale du bloc try ou après la fin du bloc try en raison d'une exception. Même si vous revenez dans le bloc except, le bloc enfin s'exécutera

Exemple: Essayons de lancer l'exception dans le bloc except et finalement exécuterons l'exception qui générera ou non

Python3




# Python code to illustrate> # working of try()> def> divide(x, y):> >try>:> ># Floor Division : Gives only Fractional> ># Part as Answer> >result>=> x>/>/> y> >except> ZeroDivisionError:> >print>(>'Sorry ! You are dividing by zero '>)> >else>:> >print>(>'Yeah ! Your answer is :'>, result)> >finally>:> ># this block is always executed> ># regardless of exception generation.> >print>(>'This is always executed'>)> # Look at parameters and note the working of Program> divide(>3>,>2>)> divide(>3>,>0>)>

>

>

Sortir:

Yeah ! Your answer is : 1 This is always executed Sorry ! You are dividing by zero This is always executed>