Заява про закидання JavaScript

У цьому підручнику ви дізнаєтеся про оператори бронювання JavaScript за допомогою прикладів.

У попередньому підручнику ви навчились обробляти винятки за допомогою JavaScript try… catch. Оператори try and catch обробляють винятки стандартним способом, який надається JavaScript. Однак ви можете використовувати throwоператор для передачі визначених користувачем винятків.

У JavaScript throwоператор обробляє визначені користувачем винятки. Наприклад, якщо певне число ділиться на 0 , і якщо вам потрібно розглянути Infinityяк виняток, ви можете використовувати throwоператор для обробки цього винятку.

Інструкція JavaScript throw

Синтаксис оператора throw:

 throw expression;

Тут expressionвказується значення винятку.

Наприклад,

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

Примітка . Вираз може бути строковим, логічним, числовим або значенням об’єкта.

Кидок JavaScript із спробою… зловити

Синтаксис try… catch… throw:

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

Примітка : Коли виконується оператор throw, він виходить із блоку і переходить до catchблоку. І код під throwоператором не виконується.

Приклад 1: спробуйте… зловити… кинути Приклад

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

Вихідні дані

 Виявлено помилку Повідомлення про помилку: Помилка: число низьке

У наведеній вище програмі перевіряється стан. Якщо число менше 51 , видається помилка. І ця помилка викидається за допомогою throwоператора.

Оператор throwвизначає рядок The number is lowяк вираз.

Примітка : Ви також можете використовувати інші вбудовані помилки конструкторів для стандартних помилок: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, і RangeError.

Наприклад,

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

Повернути виняток

Ви також можете використовувати throwоператор всередині catchблоку, щоб відновити виняток. Наприклад,

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

Вихідні дані

 Виявлено помилку Повідомлення про помилку: Помилка: Виправлена ​​помилка під час скидання

У наведеній вище програмі throwоператор використовується всередині tryблоку для лову винятку. І throwоператор перезаписується в catchблок, який виконується, якщо catchблок не може обробити виняток.

Тут catchблок обробляє виключення, і помилок не виникає. Отже, throwзаява не переустановлена.

Якщо помилка не оброблялася блоком catch, оператор throw буде повторно видано із повідомленням про помилку Uncaught Error: Значення низьке

Цікаві статті...