Skip to main content

Обработка исключений

Исключения - это специальные объекты, которые генерируются в случае возникновения ошибок во время выполнения программы.

Инструкция throw

Инструкция throw используется для того чтобы выбросить исключение. Синтаксис:

throw выражение;

Пример:

throw "Ошибка";

Инструкция throw останавливает выполнение программы, если она не обработана.

Инструкция try, catch, finally

Инструкция try используется для того чтобы определить блок кода, в котором может произойти исключение. Синтаксис:

try {
// код
}

Инструкция catch используется для того чтобы определить блок кода, который будет выполнен в случае возникновения исключения. Синтаксис:

try {
// код
} catch (переменная) {
// код
}

Инструкция finally используется для того чтобы определить блок кода, который будет выполнен как в случае возникновения исключения, так и в случае его отсутствия. Синтаксис:

try {
// код
} catch (переменная) {
// код
} finally {
// код
}

Пример:

function divide(a, b) {
if (b === 0) {
throw "Деление на ноль";
}

return a / b;
}

try {
let result = divide(10, 0);
console.log(result);
} catch (error) {
console.log(error);
} finally {
console.log("Программа завершена");
}

В данном примере функция divide выбрасывает исключение в случае деления на ноль. Инструкция try пытается выполнить код внутри блока, если исключение не возникло, то выполнится блок finally, если исключение возникло, то выполнится блок catch.

Объект Error

Объект Error используется для создания объектов исключений. Синтаксис:

new Error("Сообщение об ошибке");

Пример:

function divide(a, b) {
if (b === 0) {
throw new Error("Деление на ноль");
}

return a / b;
}

try {
let result = divide(10, 0);
console.log(result);
} catch (error) {
console.log(error.message);
} finally {
console.log("Программа завершена");
}

В данном примере функция divide выбрасывает исключение в случае деления на ноль. Инструкция try пытается выполнить код внутри блока, если исключение не возникло, то выполнится блок finally, если исключение возникло, то выполнится блок catch. Объект Error содержит свойство message, которое содержит сообщение об ошибке.