logo

Išbandykite, išskyrus, kitaip ir galiausiai Python

Išimtis – tai netikėtas įvykis, įvykęs programos vykdymo metu. Jis taip pat žinomas kaip a Klaida . Kai įvyksta ši klaida, Python vykdymo metu sukuria išimtį ir ją galima tvarkyti, o tai neleidžia jūsų programai pertraukti.

Pavyzdys: Šiame kode sistema negali padalyti skaičiaus iš nulio, todėl iškeliama išimtis.



Python3








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

>

>

Išvestis

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

Išimčių tvarkymas su try, išskyrus, kitu ir galiausiai

  • Bandyti : Šis blokas patikrins, ar įvyksta išimtis
  • Išskyrus : Čia galite išspręsti klaidą
  • Kitas : Jei nėra išimties, šis blokas bus vykdomas
  • Pagaliau : Galiausiai blokas visada bus vykdomas arba sugeneruota išimtis, arba ne

Python Try, Except, else ir galiausiai sintaksė

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

Darbas ' bandyti' ir 'išskyrus'

Pirmiausia išsiaiškinkime, kaip Python try and išskyrus darbai

  • Pirmas bandyti įvykdoma sąlyga, ty kodas tarp bandyti ir išskyrus sąlyga.
  • Jei nėra išimtis, tada tik bandyti punktas veiks, išskyrus išlyga nebus įvykdyta.
  • Jei įvyksta kokia nors išimtis, bandyti punktas bus praleistas ir išskyrus punktas veiks.
  • Jei atsiranda kokia nors išimtis, bet išskyrus Kode esanti sąlyga jo netvarko, ji perduodama išoriniam bandyti pareiškimus. Jei išimtis netvarkoma, vykdymas sustabdomas.
  • A bandyti teiginys gali turėti daugiau nei vieną išskyrus sąlyga.

Pavyzdys: Pabandykime paimti vartotojo sveikojo skaičiaus įvestį ir įvesti išimtį, išskyrus bloką.

Python3




kas yra 10 iš 60
# 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>)>

>

>

Išvestis:

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

Gaukite kelias Python išimtis

Pateikiame pavyzdį, kuriame parodyta, kaip įvairioms išimtims tvarkyti naudoti kelias, išskyrus sąlygas:

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

>

>

Išvestis:

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

Kiti sakiniai Python

Kodas įvedamas į else bloką tik tuo atveju, jei try sąlyga nekelia išimties.

Pavyzdys: Priešingu atveju bus vykdomas blokas tik tada, kai nebūna išimtis .

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

>

>

Išvestis:

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

Python pagaliau raktinis žodis

Python pateikia raktinį žodį pagaliau , kuris yra visada vykdomas po bandymo ir išskyrus blokus. Galutinis blokas visada vykdomas po įprasto trynimo bloko nutraukimo arba po trynimo bloko nutraukimo dėl kokios nors išimties. Net jei grįšite į išskyrus bloką, vis tiek bus vykdomas galutinis blokas

Pavyzdys: Pabandykime įmesti išimtį į išskyrus bloką ir galiausiai bus įvykdyta arba išimtis bus sugeneruota, arba ne

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

>

>

Išvestis:

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