JavaScript throw Anweisung

In diesem Tutorial lernen Sie anhand von Beispielen die JavaScript-Throw-Anweisungen kennen.

Im vorherigen Tutorial haben Sie gelernt, mit Ausnahmen mit der JavaScript-Anweisung try… catch umzugehen. Die try and catch-Anweisungen behandeln Ausnahmen auf standardmäßige Weise, die von JavaScript bereitgestellt wird. Sie können die throwAnweisung jedoch verwenden, um benutzerdefinierte Ausnahmen zu übergeben.

In JavaScript behandelt die throwAnweisung benutzerdefinierte Ausnahmen. Wenn beispielsweise eine bestimmte Zahl durch 0 geteilt wird und Sie dies Infinityals Ausnahme betrachten müssen, können Sie die throwAnweisung verwenden, um diese Ausnahme zu behandeln.

JavaScript-Anweisung throw

Die Syntax der throw-Anweisung lautet:

 throw expression;

Hier expressiongibt den Wert der Ausnahme.

Beispielsweise,

 const number = 5; throw number/0; // generate an exception when divided by 0

Hinweis : Der Ausdruck kann eine Zeichenfolge, ein Boolescher Wert, eine Zahl oder ein Objektwert sein.

JavaScript werfen mit try… catch

Die Syntax von try… catch… throwlautet:

 try ( // body of try throw exception; ) catch(error) ( // body of catch )

Hinweis : Wenn die throw-Anweisung ausgeführt wird, verlässt sie den Block und wechselt zum catchBlock. Und der Code unter der throwAnweisung wird nicht ausgeführt.

Beispiel 1: versuchen… fangen… werfen Beispiel

 const number = 40; try ( if(number> 50) ( console.log('Success'); ) else ( // user-defined throw statement throw new Error('The number is low'); ) // if throw executes, the below code does not execute console.log('hello'); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )

Ausgabe

 Ein Fehler wurde abgefangen. Fehlermeldung: Fehler: Die Anzahl ist niedrig

Im obigen Programm wird eine Bedingung überprüft. Wenn die Zahl kleiner als 51 ist , wird ein Fehler ausgegeben. Und dieser Fehler wird mit der throwAnweisung ausgelöst .

Die throwAnweisung gibt die Zeichenfolge The number is lowals Ausdruck an.

Hinweis : Sie können auch andere integrierte Fehler Konstrukteuren für Standardfehler verwenden TypeError, SyntaxError, ReferenceError, EvalError, InternalError, und RangeError.

Beispielsweise,

 throw new ReferenceError('this is reference error');

Eine Ausnahme erneut auslösen

Sie können auch eine throwAnweisung innerhalb des catchBlocks verwenden, um eine Ausnahme erneut auszulösen. Beispielsweise,

 const number = 5; try ( // user-defined throw statement throw new Error('This is the throw'); ) catch(error) ( console.log('An error caught'); if( number + 8> 10) ( // statements to handle exceptions console.log('Error message: ' + error); console.log('Error resolved'); ) else ( // cannot handle the exception // rethrow the exception throw new Error('The value is low'); ) )

Ausgabe

 Ein Fehler wurde abgefangen. Fehlermeldung: Fehler: Dies ist der Fehler, der behoben wurde

Im obigen Programm wird die throwAnweisung innerhalb des tryBlocks verwendet, um eine Ausnahme abzufangen. Und die throwAnweisung wird im catchBlock erneut ausgelöst , der ausgeführt wird, wenn der catchBlock die Ausnahme nicht behandeln kann.

Hier behandelt der catchBlock die Ausnahme und es tritt kein Fehler auf. Daher wird die throwAussage nicht erneut geworfen.

Wenn der Fehler nicht vom catch-Block behandelt wurde, wird die throw-Anweisung mit der Fehlermeldung Uncaught Error: Der Wert ist niedrig

Interessante Beiträge...