Esporta (0) Stampa
Espandi tutto

Istruzione Try...Catch...finally

Implementa la gestione degli errori per JScript.


try {
   [tryStatements]
} catch(exception) {
   [catchStatements]
} finally {
   [finallyStatements]}

tryStatements

Facoltativo. Istruzioni in cui può verificarsi un errore.

exception

Obbligatorio. Qualsiasi nome di variabile. Il valore iniziale di exception corrisponde al valore dell'errore generato.

catchStatements

Facoltativo. Istruzioni di gestione degli errori generati nel blocco tryStatements associato.

finallyStatements

Facoltativo. Istruzioni che vengono eseguite in modo non condizionale al termine dell'elaborazione di tutti gli altri errori.

L'istruzione try...catch...finally consente di gestire parte o tutti i possibili errori che potrebbero verificarsi in un blocco di codice specifico, senza interrompere l'esecuzione del programma. In caso si verifichino errori la cui gestione non è stata prevista dal programmatore, JScript fornisce all'utente il normale messaggio di errore, come se non vi fosse alcuna routine di gestione degli errori.

TryStatements contiene il codice in cui potrebbe verificarsi un errore, mentre catchStatements contiene il codice per la gestione di ogni errore che si verifica. In caso di errore in tryStatements, il controllo del programma viene passato a catchStatements per l'elaborazione. Il valore iniziale di exception è il valore dell'errore verificatosi in tryStatements. Se non si verifica alcun errore, catchStatements non verrà mai eseguito.

Se non è possibile gestire l'errore nelle catchStatements associate alle tryStatements in cui l'errore si è verificato, utilizzare l'istruzione throw per propagare o generare nuovamente l'errore tramite un gestore errori di livello superiore.

Una volta che tutte le istruzioni in tryStatements sono state eseguite e che gli eventuali errori sono stati gestiti in catchStatements, le istruzioni in finallyStatements verranno eseguite in modo non condizionale.

Si tenga presente che il codice all'interno di finallyStatements viene eseguito anche se un'istruzione return si verifica all'interno dei blocchi try o catch o se il blocco catch genera un errore. Le istruzioni finallyStatments verranno eseguite sempre.

Nel seguente esempio viene illustrato il modo in cui funziona la gestione delle eccezioni in JScript.


          try {
   print("Outer try running...");
   try {
      print("Nested try running...");
      throw "an error";
   } catch(e) {
      print("Nested catch caught " + e);
      throw e + " re-thrown";
   } finally {
      print("Nested finally is running...");
   }
} catch(e) {
   print("Outer catch caught " + e);
} finally {
   print("Outer finally running");
}

Il risultato è il seguente:

Outer try running..
Nested try running...
Nested catch caught an error
Nested finally is running...
Outer catch caught an error re-thrown
Outer finally running

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft