Обработка ашыбок

try...catch...finally

Состоит из трех блоков.

Принцип работы:

  1. Выполняется код внутри try;
  2. Если в нем нет ошибок, блок catch игнорируется и выполнение переходит в блок finally и далее;
  3. Если есть ошибка, то выполнение переходит в блок catch, потом в finally и далее;

Объект ошибки

При возникновении ошибки в блоке try, JavaScript генерирует объект, содержащий детали ошибки и передает его в блок catch.

Объект имеет следующие основные свойства:

  • name - имя типа ошибки. Например, ReferenceError, SyntaxError, TypeError;
  • message - текстовое сообщение о деталях ошибки;
  • stack - текущий стэк вызова. Строка, содержащая информацию о последовательности вызовов, которые привели к ошибке;

Генерация собственных ошибок

Для этого нужно просто писать код использовать оператор throw <errorObj>.

 

В качестве объекта ошибки можно передать что угодно. Но желательно, чтобы это был именно объект ошибки. Для его создания в js есть встроенные конструкторы для разных типов ошибок.

Проброс исключений

  1. Блок catch получает все ошибки;
  2. В блоке catch(err) {...} мы анализируем объект ошибки err;
  3. Если мы не знаем как её обработать, тогда делаем throw err;

Полезные ссылки

Made with Slides.com