Home Page על האתר מפת אתר מילון מונחים ספרים קישורים

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

שגיאה היא כל מצב אשר התוכנה לא יודעת כיצד לטפל בו, או שהיא מטפלת בו באופן שלא היה רצוי לכותבי התוכנה.

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

אמצעים לאיתור שגיאות אפשריות

הנחת מלכודת: On Error

המשפט On Error הוא משפט תוכנית המשמש לגילוי שגיאות זמן קיצה. כדי להניח מלכודת לשגיאות עלייך להציב את המשפט On Error לפני שורת הקוד העלולה להיות בעיתית. משפט זה מורה לויז'ואל בייסיק לאן להסתעף כאשר היא נתקלת בשגיאה.

התחביר של On Error הוא כדלקמן:

[תווית] On Error GoTo

התווית (label) הוא שמו של הכלי לטיפול. לכל אמצעי לטיפול בשגיאות יש תווית משלו, המלווה בסימן נקודתיים ':' המשמשים לזיהוי לדוגמה, :.ErrorHandler

רוב האמצעים לטיפול בשגיאות כוללים שני חלקים. החלק הראשון משתמש לרוב במאפיין Err.Number(מספר השגיאה) כחלק ממבנה החלטה ( If...Thenאו Select Case) ולאחר מכן מציג הודעה או מציב ערך במאפיין בהתאם לסוג השגיאה שאותרה.

החלק השני הוא משפט ה Resume(חדש פעולה המחזיר שליטה על המערכת אל התוכנית כדי שתוכל להמשיך להתבצע.

Resume

ניתן להשתמש במשפט Resume לבד או ב Resume Next או לצרף למילה זו תווית אליה אתה רוצה להסתעף, בהתאם לחלק התוכנית בו אתה רוצה להמשיך את הביצוע.

מילת מפתח זו, מחזירה את השליטה למשפט שגרם לשגיאה (בתקווה שהשגיאה תוקנה ולא תתרחש שנית). לדוגמה, אתה יכול לחפש בכונן דיסקים אחר דיסק מסוים. אם דלת הכונן פתוחה, אז ישנה שגיאת זמן ריצה ואז תפנה התוכנית לתווית ה Error שקבענו. שם אתה יכול לבקש מהמשתמש לסגור את דלת הכונן וללחוץ על אישור כשהוא מוכן. אם המשתמש לחץ אישור, אז המחשב יחזור לשורה שגרמה לשגיאה אך הפעם, אם המשתמש סגר את דלת הכונן אז התוכנית תמשיך לפעול כרגיל.

בנוסף אתה יכול להוסיף תווית אחרי המילה .Resume דבר זה מאפשר גמישות להגיע לכל מקום בשגרת האירוע.

באפשרותך להשתמש במאפיין Err.Discription המכיל את הודעת השגיאה המוחזרת לויז'ואל בייסיק כשמתרחשת שגיאת זמן ריצה.