JavaScript исключения и ошибки

Ошибки часто используются для уведомления другого фрагмента кода о том, что что-то пошло не так при попытке выполнить задачу, и эта ошибка затем может быть передана пользователю.

Когда создаются ошибки — выбрасываются — они прерывают текущий выполняемый код, если только они не были перехвачены.

Например, вы можете принудительно выдать ошибку, предоставив JSON.parse неверные данные:

JSON.parse("a");

// Produces a SyntaxError

Вы можете учитывать возникающие исключения JavaScript, используя конструкцию, называемую try-catch. Это выглядит следующим образом:

try {
    JSON.parse("a"); // Produces a SyntaxError
} catch (error) {
    // Handle the error
    alert(error.message);
}

Если в try блоке возникает ошибка, это не препятствует продолжению выполнения кода ─ ошибка передаётся в блок catch, с которым вам предстоит разобраться. Здесь, например, вы могли бы сообщить пользователю, что переданный JSON был недопустимым.

Ошибка, переданная в блок catch (как функция), представляет собой объект со свойством message, которое вы можете использовать, чтобы увидеть, что пошло не так.

Почти во всех случаях вы захотите убедиться, что ваш код корректно обрабатывает ошибки. Стоит узнать, когда ошибки могут возникать, чтобы вы могли защитить свой код от них.

Создание ошибок

Можно генерировать свои собственные ошибки, чтобы с ними разбирался кто-то другой. Это делается с помощью ключевого слова throw:

throw new Error("I hungry. Fridge empty.");

Защитный код

Ошибки наиболее распространены на переднем крае, где вводятся данные извне вашего кода, и поэтому именно в этих областях вам нужно быть наиболее осторожным.

Блоки Try-catch — это один из способов обработки ошибок, но вы также можете проверить тип некоторых данных и указать разумные значения по умолчанию, если вы получаете неверно отформатированные данные. Защита в вашем коде ─ хороший способ избежать ошибок.

Страницы в тему:

Добавить комментарий