TypeScript:
Обработка ошибок
Как:
В TypeScript обработка ошибок часто включает блоки try
, catch
и finally
.
function riskyOperation() {
throw new Error("Что-то пошло не так!");
}
function handleErrors() {
try {
riskyOperation();
} catch (error) {
console.error("Ошибка перехвачена:", error.message);
} finally {
console.log("Это выполняется всегда, была ошибка или нет.");
}
}
handleErrors();
Пример вывода:
Ошибка перехвачена: Что-то пошло не так!
Это выполняется всегда, была ошибка или нет.
Асинхронный пример с промисами:
async function asyncRiskyOperation() {
return new Promise((resolve, reject) => {
// Имитация ошибки
reject("Катастрофическая неудача");
});
}
async function handleAsyncErrors() {
try {
await asyncRiskyOperation();
} catch (error) {
console.error("Асинхронная ошибка перехвачена:", error);
}
}
handleAsyncErrors();
Пример вывода:
Асинхронная ошибка перехвачена: Катастрофическая неудача
Глубже в Тему
Обработка ошибок является краеугольным камнем программирования с момента его зарождения. В TypeScript, который построен на основе JavaScript, обработка ошибок стала более надежной с введением async/await в ECMAScript 2017. До этого мы часто полагались на функции обратного вызова и промисы для обработки ошибок в асинхронном коде.
Альтернативой try/catch
в TypeScript является использование границ ошибок, предоставляемых фреймворками, такими как React. Для серверной обработки мы можем использовать промежуточное ПО на платформах вроде Express.js для централизации управления ошибками.
С точки зрения реализации, TypeScript не имеет собственного механизма обработки ошибок, но опирается на механизм JavaScript. Пользовательские классы ошибок могут наследовать класс Error
, чтобы предоставлять более описательную информацию об ошибках.