throw-Anweisung
Generiert einen Fehlerzustand, der von einer try...catch...finally-Anweisung behandelt werden kann.
throw [exception]
Argumente
- Ausnahme
Optional. Ein 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 ThrowDemo(x)
{
try
{
try
{
// Throw an exception that depends on the argument.
if (x == 0)
throw new Error(200, "x equals zero");
else
throw new Error(201, "x does not equal zero");
}
catch(e)
{
// Handle the exception.
switch (e.number)
{
case 200:
print (e.message + " - handled locally.");
break;
default:
// Throw the exception to a higher level.
throw e;
}
}
}
catch(e)
{
// Handle the higher-level exception.
print (e.message + " - handled higher up.");
}
}
ThrowDemo (0);
ThrowDemo (1);
// Output:
// x equals zero - handled locally.
// x does not equal zero - handled higher up.