Istruzione throw
Aggiornamento: novembre 2007
Genera una condizione d'errore gestibile da un'istruzione try...catch...finally.
throw [exception]
Argomenti
- exception
Facoltativo. Qualsiasi espressione.
Note
L'istruzione throw può essere utilizzata senza argomenti, ma solo se è contenuta all'interno di un blocco catch. In tale situazione, l'istruzione throw genera di nuovo l'errore individuato dall'istruzione catch che la contiene. Quando viene specificato un argomento, l'istruzione throw genera il valore di exception.
Esempio
Nell'esempio seguente viene generato un errore che si basa su un valore passato, quindi viene illustrato il modo in cui tale errore viene gestito in una gerarchia di istruzioni try...catch...finally.
function TryCatchDemo(x){
try {
try {
if (x == 0) // Evalute argument.
throw "x equals zero"; // Throw an error.
else
throw "x does not equal zero"; // Throw a different error.
}
catch(e) { // Handle "x=0" errors here.
if (e == "x equals zero") // Check for a handled error.
return(e + " handled locally."); // Return error message.
else // Can't handle error here.
throw e; // Rethrow the error for next
} // error handler.
}
catch(e) { // Handle other errors here.
return(e + " error handled higher up."); // Return error message.
}
}
print(TryCatchDemo(0)+ "\n");
print(TryCatchDemo(1));