טיפול בשגיאות ב-JS

‏ • 11 באוקטובר, 2003



try,catch,throw,finally הן מילות המפתח לטיפול בשגיאות ב-JS, בצד שרת או בצד לקוח.
במאמר זה אסביר את אופן השימוש בהן

אלו פקודות שנועדו לטפל בשגיאות…כידוע לנו, אם לא היה שגיאות בעולם
התכנות…אז הרבה אנשים היו מוצאים את עצמם ללא עבודה והיה קצת משעמם
לנו..הלא כך

חריגים (שגיאות) הם כל שגיאה תכנותית שלא נתפסה..הם לא כוללים
בתוכם שגיאות לוגיות שהם שגיאות שנגרמות מתוצאות ולא מסוגיות תכנותיות

מילות המפתח try ו catch

ע"י מילת המפתח try ניתן לתפוס את החריג(שגיאה) ולפעול בהתאם עם מילת
המפתח catch…הבה נביט בקוד:




1
2
3
4
5
6
7
8
9
10  

<Script language="JavaScript">
try {
    document.write(something);
}
catch(e) {
         alert("the ERROR is:" + e.toString());
}
</Script>


לחץ כאן להרצת הדוגמא

יצרתי פה קוד בכוונה שגוי…הסקריפט אמור לרשום somthing על המסך אך
הוא חושב שהוא צריך לקבל משתנה בשם somthing ואין כזה משתנה…ולכן
נזרק חריג…

מילת המפתח try איתרה את החריג…במידה ונזרק חריג אז כל מה שמתבצע
בין הסוגרים של catch יוצא לפועל…במקרה של הקוד הקפצנו את הפלט:
the ERROR is: על המסך ושרשרנו לזה את השגיאה שנזרקה…

יש לציין ש catch הכיל משתנה e שאליו נכנסת השגיאה ולכן שרשרנו אותה
לקוד…

לסיכום: אם מתבצע שגיאה שנמצאת בין הסוגרים המסולסלים של try אז
כל מה שמתבצע ב catch מתבצע…

מילת המפתח throw

לפעמים עלינו מסיבות כל שהן רוצים בכוונה לזרוק חריג כדי לדלג
על חלקים מסויימים בקוד בין אם זה בנושאי אבטחה או סתם כך…

עם מילת המפתח throw ניתן לזרוק חריג ואז כל מה שרשום ב catch
יצא לפועל….הנה דוגמא לשימוש:




1
2
3
4
5
6
7
8
9
10
11  

<script language="JavaScript">
try {
    var i=5;
    if(i<10)throw 'JS exception – i<10';
} catch (e) {
        alert("Exception caught: " + e.toString());
}
</script>


לחץ כאן להרצת הדוגמא

מילת המפתח finally

לסיום נרצה לפעמים לבצע שורת קוד גם אם יש שגיאה וגם אם לא…
בשביל זה יש את finally…גם אם נזרק חריג וגם אם לא מה שנמצא בסוגרים
המסולסלים של מילת המפתח תמיד יתבצע…הנה דוגמא:




1
2
3
4
5
6
7
8
9
10
11
12
13  

<script language="JavaScript">
try {
    document.write(something);
}

catch(e) {
    alert("the ERROR is:" + e.toString());
}

finally {
    alert("Hello! the finally statmment work!");
}
</Script>


לחץ כאן להרצת הדוגמא

בהצלחה !

תגיות: , , , , ,

תגובות בפייסבוק