demonstrativo throw
Gera uma condição de erro que pode ser tratada por um try...catch...finally demonstrativo.
throw [exception]
Argumentos
- exceção
Opcional.Qualquer expressão.
Comentários
The throw demonstrativo pode ser usada sem um argumento, mas apenas se o throw demonstrativo está contida dentro de um catch bloco.Nessa situação, a throw demonstrativo re-throws Erro detectado pelo delimitador catch demonstrativo.Quando um argumento for fornecido, a throw demonstrativo lança o valor de exceção.
Exemplo
O exemplo a seguir lança um erro com base em um valor passado e, em seguida, ilustra como esse erro é manipulado em uma hierarquia de try...catch...finally instruções:
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));