Instrukcja throw JavaScript

W tym samouczku za pomocą przykładów nauczysz się o instrukcjach rzutowania w języku JavaScript.

W poprzednim samouczku nauczyłeś się obsługi wyjątków za pomocą instrukcji try… catch w języku JavaScript. Instrukcje try and catch obsługują wyjątki w standardowy sposób, który zapewnia JavaScript. Można jednak użyć tej throwinstrukcji, aby przekazać wyjątki zdefiniowane przez użytkownika.

W JavaScript throwinstrukcja obsługuje wyjątki zdefiniowane przez użytkownika. Na przykład, jeśli pewna liczba jest podzielona przez 0 i jeśli chcesz wziąć pod uwagę Infinitywyjątek, możesz użyć throwinstrukcji do obsługi tego wyjątku.

Instrukcja throw JavaScript

Składnia instrukcji throw to:

 throw expression;

Tutaj expressionokreśla wartość wyjątku.

Na przykład,

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

Uwaga : Wyrażenie może być ciągiem znaków, wartością logiczną, liczbą lub wartością obiektu.

Wrzuć JavaScript z try… catch

Składnia try… catch… throwto:

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

Uwaga : Kiedy wykonywana jest instrukcja throw, wychodzi z bloku i przechodzi do catchbloku. Kod poniżej throwinstrukcji nie jest wykonywany.

Przykład 1: spróbuj… złap… rzut Przykład

 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); )

Wynik

 Wystąpił błąd Komunikat o błędzie: Błąd: liczba jest niska

W powyższym programie sprawdzany jest warunek. Jeśli liczba jest mniejsza niż 51 , zgłaszany jest błąd. Ten błąd jest generowany za pomocą throwinstrukcji.

throwOświadczenie określa ciąg znaków The number is lowjako wyrażenie.

Uwaga : Można również korzystać z innych wbudowanych błędu konstruktorów dla standardowych błędów: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, i RangeError.

Na przykład,

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

Ponownie zgłoś wyjątek

Możesz również użyć throwinstrukcji wewnątrz catchbloku, aby ponownie zgłosić wyjątek. Na przykład,

 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'); ) )

Wynik

 Przechwycony błąd Komunikat o błędzie: Błąd: To jest błąd rzutowania został rozwiązany

W powyższym programie throwinstrukcja jest używana w trybloku do przechwytywania wyjątku. Oraz throwoświadczenie rethrown w catchbloku, który zostanie wykonany, gdy catchblok nie może obsłużyć wyjątek.

Tutaj catchblok obsługuje wyjątek i nie występuje błąd. W związku z tym throwoświadczenie nie zostało powtórzone.

Jeśli błąd nie został obsłużony przez blok catch, instrukcja throw zostanie ponownie wygenerowana z komunikatem o błędzie Uncaught Error: The value is low

Interesujące artykuły...