logo

Încercați, cu excepția, altfel și în sfârșit în Python

O excepție este un eveniment neașteptat, care are loc în timpul execuției programului. Este cunoscut și ca a eroare de rulare . Când apare această eroare, Piton generează o excepție în timpul execuției și care poate fi gestionată, ceea ce împiedică întreruperea programului dumneavoastră.

Exemplu: În acest cod, sistemul nu poate împărți numărul cu zero, așa că se ridică o excepție.



Python3








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

>

>

Ieșire

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

Gestionarea excepțiilor cu try, except, else și în final

  • Încerca : Acest bloc va testa eroarea exceptată să apară
  • Cu exceptia : Aici puteți gestiona eroarea
  • Altfel : Dacă nu există nicio excepție, atunci acest bloc va fi executat
  • In cele din urma : În cele din urmă, blocul este întotdeauna executat, fie că este generată sau nu excepția

Python Try, Except, else și în final Sintaxă

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

Lucrarea lui ‘ încerca' și 'cu exceptia'

Să înțelegem mai întâi cum Python încearcă și cu excepția lucrări

  • Primul încerca clauza este executată, adică codul dintre încerca și cu exceptia clauză.
  • Dacă nu există excepție, atunci numai încerca clauza va rula, cu exceptia clauza nu va fi executată.
  • Dacă apare vreo excepție, încerca clauza va fi omisă și cu exceptia clauza va rula.
  • Dacă apare vreo excepție, dar cu exceptia clauza din cod nu o gestionează, este transmisă în exterior încerca declarații. Dacă excepția este lăsată netratată, atunci execuția se oprește.
  • A încerca declarația poate avea mai multe cu exceptia clauză.

Exemplu: Să încercăm să luăm intrarea întregului utilizator și să aruncăm excepția în blocul except.

Python3




sonu nigam
# 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>)>

>

>

Ieșire:

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

Prindeți mai multe excepții în Python

Iată un exemplu care demonstrează cum să folosiți mai multe clauze except pentru a gestiona diferite excepții:

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}'>)>

>

>

Ieșire:

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

Clauzele Else în Python

Codul intră în blocul else numai dacă clauza try nu ridică o excepție.

Exemplu: În caz contrar, blocul se va executa numai atunci când nu apare nicio excepție .

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>)>

>

>

Ieșire:

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

Python în sfârșit cuvânt cheie

Python oferă un cuvânt cheie in cele din urma , care este întotdeauna executat după încercare și cu excepția blocurilor. Blocul final se execută întotdeauna după terminarea normală a blocului try sau după terminarea blocului try din cauza unor excepții. Chiar dacă reveniți în blocul except, blocul final se va executa

Exemplu: Să încercăm să aruncăm excepția în blocul except și în cele din urmă se va executa fie excepția va genera, fie nu

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>)>

>

>

Ieșire:

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