Sintaksa:
probati:blok…
osim iznimke:
rukovatelj ..
drugo:
blok…
konačno:
blok…
Ovdje se dogodi bilo kakva pogreška prilikom izvršavanja naredbi probati blok tada će se generirati iznimka i baciti pogrešku na odgovarajući osim rukovatelj. U jednom se može generirati više pogrešaka probati blok i tada morate napisati višestruko osim rukovatelji. Izjave drugo blok će se izvršiti ako se ne dogodi pogreška u probati blok. Izjave konačno blok će se izvršiti ako se dogodi ili ne dogodi neka pogreška. Za rukovanje iznimkama, koristeći drugo i konačno blokovi nisu bitni. Različite vrste rukovanja iznimkama u pythonu objašnjene su u sljedećem dijelu vodiča.
Primjer-1: Upotreba jednog pokušaj-osim bloka za provjeru numeričkih podataka:
Ovaj primjer pokazuje vrlo jednostavnu upotrebu rukovanja iznimkama u Pythonu. U probati blok, od korisnika će se uzeti dva ulaza, jedan je vrijednost niza, a drugi numerička vrijednost. Ako korisnik upiše bilo koju vrijednost niza umjesto brojčane vrijednosti za drugi ulaz, tada se Pogreška vrijednosti iznimku će generirati python3 i prikazat će se prilagođena poruka o pogrešci osim blok.
#!/ usr / bin / env python3# Definirajte blok proba
probati:
# Uzmi sve podatke kao niz
name = input ("Unesite svoje ime: \ n")
# Uzmite bilo koje numeričke podatke
dob = int (unos ("Unesite svoju dob: \ n"))
# Ispišite formatirane podatke s imenom i dobi
print ("Pozdrav% s, imate% s godina."% (ime, dob))
# obrađuju pogreške unosa
osim (ValueError):
# Ispis poruke prilagođene pogreške
print ("Pogrešan unos! Morate upisati broj prema svojoj dobi.")
Izlaz:
Skripta se izvršava dva puta u sljedećem izlazu s pogrešnim unosom i ispravnim unosom. Prvi put kada korisnik upiše 'Trideset jedan' kao dobna vrijednost za drugi ulaz koji uzima numeričku vrijednost, a zatim Pogreška vrijednosti generira se i poruka pogreške prikazuje se iz bloka osim. Drugi put se ne generira pogreška za ispravne ulazne vrijednosti.
Primjer-2: Upotreba multiple, osim bloka, za obradu više pogrešaka:
U ovom primjeru prikazano je kako možete koristiti višestruki osim bloka za obradu više pogrešaka. U ovoj skripti bit će obrađene dvije vrste pogrešaka. Naziv datoteke uzima se kao ulazni podatak od korisnika za čitanje. Ako datoteka ne postoji, generirat će se IOError iznimka i ako datoteka postoji, ali je prazna, tada će se pojaviti prilagođena iznimka. Za to se u ovoj skripti koriste dva osim bloka. Kad se ništa od pogreške ne dogodi, prikazat će se sadržaj datoteke.
#!/ usr / bin / env python3# Uvoz os modula
uvoz os
# Definirajte blok proba
probati:
# Uzmite naziv datoteke kao ulaz
filename = input ('Unesite naziv datoteke \ n')
# Otvorite datoteku za čitanje
file_handler = otvori (naziv datoteke)
# Postavite tražilo od 0 do kraja datoteke
file_handler.tražiti (0, os.SEEK_END)
# Očitajte veličinu datoteke u bajtovima
veličina = file_handler.reći()
# Ispišite sadržaj datoteke i broj znakova datoteke
ako (veličina> 0):
# Postavite pokazivač na početak datoteke
file_handler.tražiti (0)
# Pročitajte i pohranite sadržaj datoteke u varijablu
file_content = file_handler.čitati()
ispis ("\ nSadržaj datoteke naveden u nastavku \ n")
ispis (sadržaj_datoteke)
ispis ("Veličina datoteke je% d bajta"% veličina)
drugo:
# Povećajte iznimku ako je datoteka prazna
podići iznimku ('Datoteka nema sadržaj.')
# Ispišite poruku o pogrešci ako datoteka ne postoji
osim IOError kao pogreške:
ispis (pogreška)
# Ispišite poruku pogreške ako je datoteka prazna
osim iznimke kao e:
print ('Pogreška:% s'% e)
# Ispišite poruku ako nema pogreške
drugo:
ispis ('Nema pogreške')
Izlaz:
Skripta se izvršava tri puta. Prvi put se daje naziv datoteke koji ne postoji, a izlaz prikazuje poruku IOError. Drugi put se daje naziv datoteke koji postoji, ali nema sadržaj, a na izlazu se prikazuje prilagođena poruka. Treći put daje se naziv datoteke koji postoji i sadrži tekst. Izlaz prikazuje sadržaj datoteke.
Primjer-3: Upotreba bloka try-osim-konačno za obradu pogreške podjele
Primjer pokazuje upotrebu bloka try-osim-konačno za obradu pogreške podjele. Dvije numeričke vrijednosti bit će uzete kao ulaz i podijelit će prvi ulaz s drugim ulazom u bloku try. Ovdje se mogu pojaviti dvije vrste pogrešaka. Jedno je Pogreška vrijednosti kada će korisnik upisati bilo koju vrijednost bez broja, a druga je ZeroDivisionError kada će korisnik uzeti 0 kao drugi ulaz.
#!/ usr / bin / env python3# Definirajte blok proba
probati:
# Unesite dva plutajuća broja
n1 = plutajuće (ulaz ('Unesite broj \ n'))
n2 = plutajuće (ulaz ('Unesite broj \ n'))
# Podijelite ove brojeve
podjela = n1 / n2
# Rukovanje pogreškama
osim (ZeroDivisionError, ValueError):
print ("Podijeljeno nulom ili pogreška nije vrijednost")
# Ispis poruke ako se ne dogodi pogreška
drugo:
print ("Rezultat podjele je% f"% podjele)
# Ispis poruke ako se pogreška dogodi ili se ne dogodi
konačno:
ispis ("Kraj")
Izlaz:
Ovdje se skripta izvodi dva puta s oba točna unosa i s drugim ulazom kao 0. Dakle, generira se drugi put iznimka i prikazuje poruku o pogrešci.
Zaključak:
Ovaj vodič prikazuje osnovni postupak rukovanja iznimkama u python3 za nove korisnike pythona. Čitatelji će moći razumjeti što je rukovanje iznimkama i kako se primijeniti u python skripti nakon vježbanja gore navedenih primjera.