TypeScript:
Обробка помилок
Як зробити:
У TypeScript обробка помилок часто включає блоки try
, catch
, та finally
.
function riskyOperation() {
throw new Error("Щось пішло не так!");
}
function handleErrors() {
try {
riskyOperation();
} catch (error) {
console.error("Помилка виловлена:", error.message);
} finally {
console.log("Це завжди виконується, з помилкою чи без.");
}
}
handleErrors();
Приклад виводу:
Помилка виловлена: Щось пішло не так!
Це завжди виконується, з помилкою чи без.
Асинхронний приклад з обіцянками (promises):
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
, щоб надати більш детальну інформацію про помилку.