throw, instruction
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 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.