01-07-2007, 12:22
|
|
אדמין לשעבר
|
|
חבר מתאריך: 25.10.01
הודעות: 20,292
|
|
אינני מכיר VBA, אך אני מניח שמודל הExceptions שלו מבוסס על זה של חלונות.
בתגובה להודעה מספר 1 שנכתבה על ידי danglam שמתחילה ב "VBA - האם ניתן להשתמש ב-ErrorHandler כאשר נמצאים כבר בתוך בלוק של ErrorHandler אחר?"
ובכן, במצב כזה - אין בעיה בתוך קטע קוד מטופל - לטפל בשגיאות מקוננות.
עם זאת - חשוב מאוד- אתה לא אמור בשום שלב להגיע למצב כזה.
כעקרון, מודל הטיפול בשגיאות בתוכניות הוא מורכב. התפיסה (ErrorHandling/Exception Traps וכו')
אמורה להתבצע כמפלט אחרון - ובתוך קטע קוד של תפיסה אתה אמור לטפל בשחרור משאבים, כתיבה
ללוג וזהו. לא לבצע פעולות נוספות שיכולות להכשל בעצמן.
חשוב מאוד להיות מודע (Error Oriented Programming) לשגיאות אפשריות של כל מחלקה שאתה משתמש בה, ולדעת לצפות את כולן (ומי שיגיד שזה לא אפשרי - חצי טועה, היות וכל הודעת שגיאה שפונקציה מוציאה אמורה להיות מתועדת, ולכן אפשר להערך להודעות האלו. במקרה שכותב המחלקה עצמו
שכח לטפל בשגיאה, אזי במקרה כזה באמת קשה לנו (ואולי בלתי אפשרי) להתכונן לזה מראש).
בכל מקרה, אסור אסור אסור לכתוב קוד כשאתה מצפה בתוך הקוד לזריקת שגיאה. הסיבות לכך רבות.
מלבד בעיות ביצועים (הפעולה של הקפצת שגיאה מאוד מורכבת. החל מקפיצה לקטע קוד מטודי אחר,
וכלה בפעולות שמתבצעות מאחורי הקלעים גם בEventLog, בתוכנות חיצוניות שמתחברות אליך וכו'..).
_____________________________________
דורון
|