Share via


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.

Anforderungen

Version 5

Siehe auch

Referenz

try...catch...finally-Anweisung

Error-Objekt