logo

Python Mēģiniet Izņemot

Python kļūdas var būt divu veidu, t.i., sintakses kļūdas un izņēmumi. Kļūdas ir programmas problēmas, kuru dēļ programma pārtrauks izpildi. No otras puses, izņēmumi tiek izvirzīti, ja notiek daži iekšēji notikumi, kas maina parasto programmas plūsmu.
Piezīme: Lai iegūtu papildinformāciju, skatiet sadaļu Python kļūdas un izņēmumi
Dažas no izplatītākajām izņēmuma kļūdām ir:

    IOError: ja failu nevar atvērt KeyboardInterrupt: ja lietotājs nospiež nevajadzīgu taustiņu ValueError: kad iebūvētā funkcija saņem nepareizu argumentu EOFEror: ja tiek trāpīts faila beigas, nenolasot nekādus datus ImportError: ja tas nevar atrast moduli

Izmēģiniet Izņemot Python

Paziņojums Try and Except tiek izmantots, lai apstrādātu šīs kļūdas mūsu kodā Python. Mēģināšanas bloks tiek izmantots, lai pārbaudītu, vai kodā nav kļūdu, t.i., kods try blokā tiks izpildīts, ja programmā nav kļūdu. Tā kā kods, kas atrodas izņēmuma blokā, tiks izpildīts ikreiz, kad programma sastopas ar kādu kļūdu iepriekšējā mēģinājuma blokā.



Sintakse:

try: # Some Code except: # Executed if error in the # try block>

Kā try() darbojas?

  • Pirmkārt, mēģināt klauzula tiek izpildīta, t.i., kods starp mēģināt.
  • Ja nav izņēmuma, tad tikai mēģināt klauzula darbosies, izņemot klauzula ir pabeigta.
  • Ja rodas kāds izņēmums, mēģināt klauzula tiks izlaista un izņemot klauzula darbosies.
  • Ja rodas kāds izņēmums, bet izņemot klauzula kodā to neapstrādā, tā tiek nodota ārējam mēģināt paziņojumi. Ja izņēmums netiek apstrādāts, izpilde tiek pārtraukta.
  • A mēģināt paziņojumā var būt vairāk nekā viens izņemot klauzula

1. kods: Nav izņēmums, tāpēc mēģināt klauzula darbosies.



Python3






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

>

>

Palīgtelpa: O(1)

atšķirība starp gigabaitu un megabaitu

Izvade:

Yeah ! Your answer is : 1>

1. kods: Tikai tāpēc ir izņēmums izņemot klauzula darbosies.

Python3




# 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>,>0>)>

>

>

Izvade:

Sorry ! You are dividing by zero>

2. kods: Otrs rakstīšanas veids izņemot paziņojums, ir parādīts zemāk, un šādā veidā tiek pieņemti tikai izņēmumi, kas jums ir paredzēti, vai arī varat pārbaudīt, kura kļūda ir radusies.

Python3




# code> def> divide(x, y):> >try>:> ># Floor Division : Gives only Fractional Part as Answer> >result>=> x>/>/> y> >print>(>'Yeah ! Your answer is :'>, result)> >except> Exception as e:> ># By this way we can know about the type of error occurring> >print>(>'The error is: '>,e)> > divide(>3>,>'GFG'>)> divide(>3>,>0>)>

>

>

Izvade:

The error is: unsupported operand type(s) for //: 'int' and 'str' The error is: integer division or modulo by zero>

Cita klauzula

Programmā Python blokā try-except varat izmantot arī klauzulu else, kurai jābūt klāt pēc visām izņēmuma klauzulām. Kods ievada else bloku tikai tad, ja try klauzula neizraisa izņēmumu.

Sintakse:

try: # Some Code except: # Executed if error in the # try block else: # execute if no exception>

Kods:

Python3




# Program to depict else clause with try-except> > # Function which returns a/b> def> AbyB(a , b):> >try>:> >c>=> ((a>+>b)>/>/> (a>->b))> >except> ZeroDivisionError:> >print> (>'a/b result in 0'>)> >else>:> >print> (c)> > # Driver program to test above function> AbyB(>2.0>,>3.0>)> AbyB(>3.0>,>3.0>)>

>

>

Izvade:

-5.0 a/b result in 0>

Visbeidzot, atslēgvārds Python

Python beidzot nodrošina atslēgvārdu, kas vienmēr tiek izpildīts pēc mēģinājuma un izņemot blokus. Pēdējais bloks vienmēr tiek izpildīts pēc parastā try bloka pārtraukšanas vai pēc tam, kad mēģinājuma bloks beidzas dažu izņēmumu dēļ.

Sintakse:

try: # Some Code except: # Executed if error in the # try block else: # execute if no exception finally: # Some code .....(always executed)>

Kods:

Python3




# Python program to demonstrate finally> > # No exception Exception raised in try block> try>:> >k>=> 5>/>/>0> # raises divide by zero exception.> >print>(k)> > # handles zerodivision exception> except> ZeroDivisionError:> >print>(>'Can't divide by zero'>)> > finally>:> ># this block is always executed> ># regardless of exception generation.> >print>(>'This is always executed'>)>

>

>

Izvade:

Can't divide by zero This is always executed>

Saistītie raksti:

  • Izvades jautājumi
  • Izņēmumu apstrāde Python
  • Lietotāja noteikti izņēmumi