12.07.2015 Views

Python

Python

Python

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

42 IznimkeStandardError. Funkcija sys.exit() generira iznimku SystemExit koja se moºe dohvatiti kod eksplicitnogzatvaranja programa. (SystemExit je iznimka ali ne i pogre²ka). StandardError je roditelj svihdrugih iznimki. Ovakav hijerarhijski ustroj omogu¢uje otkrivanje i obradu skupnih, a ne samo individualnihiznimki. Na primjer, ako postoji skupina iznimki koje obražuju matemati£ke izra£une, onda semoºe prvo dohvatiti samo ArithmeticError iznimka, a ne i sva njezina djeca (FloatingPointError,OverflowError i ZeroDivisionError) pojedina£no, uz uvjet da se ºeli na isti na£in raditi sa svimiznimkama.IznimkaExceptionSystemExitStandardErrorArithmeticErrorFloatingPointErrorOverflowErrorZeroDivisionErrorAssertionErrorAttributeErrorEnvironmentErrorIOErrorTablica 5.1: Ugražene iznimkeOpisKorijen svih iznimkiPodiºe se sa sys.exit() funkcijom. Ako se neobražuje ova iznimka, onda <strong>Python</strong> interpreterzavr²ava program bez ispisa putanje zavr²etka(engl. traceback). Ako se pozove sys.exit(),<strong>Python</strong> prevodi poziv u iznimku i izvodipotporu iznimci (eng. exception handler) kojise nalazi u finally odlomku od try naredbe.Osnova svih ugraženih iznimki osimSystemExit.Roditelj za iznimke koje <strong>Python</strong> podiºe zarazli£ite aritmeti£ke pogre²ke.Podiºe se za pogre²ke u operacijama spomi£nom decimalnom to£kom.Podiºe se kad je rezultat aritmeti£ke operacijeprevelik da bi se mogao prikazati. Ovaiznimka ne moºe se pojaviti za duge cijelebrojeve (eng. long integers). U njihovomslu£aju <strong>Python</strong> podiºe MemoryError.Podiºe se kad je drugi argument obi£nog ilimodularnog dijeljenja jednak nuli.Podiºe se kad je pogre²ka u assert naredbi.Podiºe se kad je atributna referenca ilipridruºba pogre²na. Ako objekt ne podrºavaatributnu referencu ili pridruºbu, onda <strong>Python</strong>podiºe TypeError iznimku.Roditelj za iznimke koje se pojavljuju izvan<strong>Python</strong>-a.Podiºe se kad je ulazno/izlazna operacija (kao²to je print naredba, open() funkcijski pozivili metoda u radu s datotekom) pogre²na, naprimjer, za U/I razloge: "file not found"(datoteka nije pronažena) ili "disk full"(disk je pun).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!