throw-Anweisung
Aktualisiert: November 2007
Generiert einen Fehlerzustand, der von einer try...catch...finally-Anweisung behandelt werden kann.
throw [exception]
Argumente
- exception
Optional. Beliebiger Ausdruck.
Hinweise
Die throw-Anweisung kann ohne Argument verwendet werden, allerdings nur dann, wenn die throw-Anweisung in einem catch-Block enthalten ist. In dieser Situation löst die throw-Anweisung erneut den Fehler aus, der von der umgebenden catch-Anweisung abgefangen wurde. Wenn ein Argument übergeben wird, löst die throw-Anweisung den Wert von exception aus.
Beispiel
Im folgenden Beispiel wird ein Fehler anhand eines übergebenen Werts generiert, und es wird erläutert, wie dieser Fehler in einer Hierarchie von try...catch...finally-Anweisungen behandelt wird:
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));