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. לטיפול בצד-השרת, אנו יכולים להשתמש בתוכנת ביניים (middleware) בפלטפורמות כמו Express.js למרכז ניהול שגיאות.
מבחינת יישום, ב-TypeScript אין מנגנון טיפול בשגיאות משלו אלא הוא מסתמך על זה של JavaScript. מחלקות שגיאה מותאמות אישית יכולות לירש את המחלקה Error
כדי לספק מידע תיאורי יותר על שגיאות.