throw, instruction
Mise à jour : novembre 2007
Génère une condition d'erreur qui peut être gérée par une instruction try...catch...finally.
throw [exception]
Arguments
- exception
Facultatif. Toute expression.
Notes
L'instruction throw peut être utilisée sans argument, mais seulement si elle se trouve au sein d'un bloc catch. Dans ce cas, l'instruction throw lève à nouveau l'erreur interceptée par les instructions catch englobantes. Lorsqu'un argument est fourni, l'instruction throw génère la valeur de exception.
Exemple
L'exemple ci-dessous génère une erreur en fonction de la valeur passée en entrée, puis illustre la gestion de cette erreur dans une hiérarchie d'instructions 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));