Автор: Атиш

Ошибки обязательно возникнут в любой программе / программном обеспечении. Браузеры javascript неплохо справляются с обработкой ошибок. Javascript создает объект для любой ошибки. По сути, у этого объекта есть имя и сообщение. Название представляет тип ошибки (в Javascript есть шесть типов ошибок). Сообщение объекта предоставляет полезную информацию об ошибке. Javascript позволяет нам обрабатывать ошибки с помощью блоков try, catch и finally.

Давайте посмотрим фрагмент кода без попытки и, наконец, заблокируем:

// Фрагмент кода:
counter = counter + 1;
testFunction ();

function testFunction () {
console.log («Функция выполняется»);
}

В приведенном выше фрагменте кода счетчик не определен. Следовательно, первая строка кода вызовет ошибку ссылки. Функция testFunction никогда не вызывается.

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

Представляем try, finally block:

// Фрагмент кода:
try {
counter = counter + 1;
} finally {
testFunction ();
}

function testFunction () {
console.log («Функция выполняется»);
}

В приведенном выше фрагменте кода счетчик не определен. Следовательно, блок try выдаст ошибку ссылки. Независимо от вывода в блоке try, блок finally будет выполнен.

// Фрагмент кода:
var counter = 2;
попробуйте {
counter = counter + 1;
} finally {
testFunction ();
}

function testFunction () {
console.log («Функция выполняется»);
}

В приведенном выше фрагменте кода блок try не вызывает никаких ошибок. Как и ожидалось, блок finally выполнит код.

Представляем блок catch:

// Фрагмент кода:
попробуйте {
counter = counter + 1;
} catch (исключение) {
console.log (exception.message);
} наконец {
testFunction ();
}

function testFunction () {
console.log («Функция выполняется»);
}

Как упоминалось ранее, Javascript предоставляет объект ошибки с именем и сообщением. Этот объект можно передать как параметр в блок catch. Вы можете поймать сообщение об ошибке, имя (тип) ошибки из объекта исключения.

// Фрагмент кода:
var counter = 2;
попробуйте {
counter = counter + 1;
} catch (исключение) {
console.log (exception. сообщение);
} наконец {
testFunction ();
}

function testFunction () {
console.log («Функция выполняется»);
}

В приведенном выше фрагменте кода блок try не будет вызывать никаких ошибок, а блок catch не будет генерировать исключение. Как и ожидалось, блок finally выполнит код.