Istruzione try catch finally
L'istruzione try catch ha anche un'ulteriore clausola facoltativa. E' la clausola finally
try {
// codice A
}
catch {
// codice B
}
finally {
// codice C
}
La clausola finally viene eseguita solo quando la struttura try non solleva nessuna eccezione.
In pratica ha lo scopo opposto rispetto alla clausola catch che, invece, viene eseguita solo se viene sollevata un'eccezione.
Un esempio pratico
In questo script utilizzo una semplice struttura try catch finally
- <script>
- try {
- xocument.write('Prova ');
- }
- catch(error) {
- document.write('Errore ' + error);
- }
- finally {
- document.write('Tutto ok');
- }
- </script>
Poiché c'è un errore nella struttura try, lo script esegue il codice nella clausola catch.
Errore ReferenceError: xocument is not defined
Correggo l'errore nel codice
- <script>
- try {
- document.write('Prova ');
- }
- catch(error) {
- document.write('Errore ' + error);
- }
- finally {
- document.write('Tutto ok');
- }
- </script>
Lo script esegue il codice nella struttura try.
Non essendoci alcun errore o eccezione, alla fine esegue il codice nella clausola finally.
Prova Tutto ok
E così via.