Обработка ошибок — важный аспект создания надежных и надежных программных приложений на TypeScript. В этой статье блога мы рассмотрим различные методы выдачи ошибок и обработки исключений в TypeScript. Мы углубимся в мельчайшие детали, предоставим примеры кода и будем использовать разговорный язык, чтобы сделать концепции более доступными. Итак, начнём!
- Использование оператора throw.
Самый простой способ выдать ошибку в TypeScript — использовать операторthrow
. Это позволяет вам явно вызывать исключение, которое может быть перехвачено и обработано соответствующими механизмами обработки ошибок. Вот пример:
function divide(a: number, b: number): number {
if (b === 0) {
throw new Error("Cannot divide by zero!");
}
return a / b;
}
try {
console.log(divide(10, 0));
} catch (error) {
console.error(error.message);
}
- Пользовательские классы ошибок.
В TypeScript вы можете создавать собственные классы ошибок, расширяя встроенный классError
. Это позволяет определять конкретные типы ошибок и добавлять к ним дополнительные свойства или методы. Давайте посмотрим пример:
class DatabaseError extends Error {
constructor(message: string) {
super(message);
this.name = "DatabaseError";
}
}
try {
throw new DatabaseError("Failed to connect to the database!");
} catch (error) {
console.error(error.name + ": " + error.message);
}
- Коды ошибок и сообщения.
Чтобы предоставить более подробную информацию об ошибках, вы можете использовать коды ошибок и сообщения. Код ошибки может быть уникальным идентификатором, а сообщение об ошибке содержит удобочитаемое объяснение. Вот пример:
class NetworkError extends Error {
code: number;
constructor(code: number, message: string) {
super(message);
this.name = "NetworkError";
this.code = code;
}
}
try {
throw new NetworkError(404, "Resource not found!");
} catch (error) {
console.error(
error.name + " (" + error.code + "): " + error.message
);
}
- Промежуточное программное обеспечение для обработки ошибок в Express.js:
Если вы работаете с Node.js и платформой Express.js, вы можете использовать промежуточное программное обеспечение для обработки ошибок для централизованной обработки ошибок. Это промежуточное программное обеспечение может обнаруживать ошибки, возникающие в маршрутах или другом промежуточном программном обеспечении, и реагировать соответствующим образом. Вот пример:
app.use((error, req, res, next) => {
console.error(error);
res.status(500).json({ error: "Internal Server Error" });
});
В этой статье блога мы рассмотрели несколько методов выдачи ошибок и обработки исключений в TypeScript. Мы рассмотрели основы использования оператора throw
, создания пользовательских классов ошибок, включения кодов ошибок и сообщений, а также обработки ошибок в Express.js с использованием промежуточного программного обеспечения. Освоив эти методы, вы сможете создавать более надежные и отказоустойчивые приложения TypeScript.