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