28.01.2015 Views

Tutorial Python - Starship

Tutorial Python - Starship

Tutorial Python - Starship

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.

8.6 Definirea acţiunilor de curăţare<br />

Instrucţiunea try poate avea şi o altă clauză prin care se pot defini acţiuni de curăţare care vor fi executate în<br />

orice circumstanţă. De exemplu:<br />

>>> try:<br />

... raise KeyboardInterrupt<br />

... finally:<br />

... print ’Goodbye, world!’<br />

...<br />

Goodbye, world!<br />

Traceback (most recent call last):<br />

File "", line 2, in <br />

KeyboardInterrupt<br />

Clauza finally este executată dacă a fost sau nu generată o excepţie în blocul try. Când apare o excepţie, aceasta<br />

este regenerată după ce sunt executate instrucţiunile clauzei finally. Clauza finally este de asemenea<br />

executată “la ieşire”, chiar şi atunci când a fost apelată o instrucţiune break sau return.<br />

Codul scris în clauza finally este util pentru eliberarea resurselor externe (cum ar fi fişiere sau conectări la<br />

reţea), fara a mai vedea daca utilizarea resurse s-a încheiat cu succes.<br />

O instrucţiune try trebuie fie să aibe una sau mai multe clauze except, fie o clauză finally, dar nu ambele<br />

în acelaşi timp.<br />

56 Capitolul 8. Erori şi excepţii

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

Saved successfully!

Ooh no, something went wrong!