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