לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #2  
ישן 01-07-2007, 12:22
צלמית המשתמש של Humbug
  משתמש זכר Humbug Humbug אינו מחובר  
אדמין לשעבר
 
חבר מתאריך: 25.10.01
הודעות: 20,292
אינני מכיר VBA, אך אני מניח שמודל הExceptions שלו מבוסס על זה של חלונות.
בתגובה להודעה מספר 1 שנכתבה על ידי danglam שמתחילה ב "VBA - האם ניתן להשתמש ב-ErrorHandler כאשר נמצאים כבר בתוך בלוק של ErrorHandler אחר?"

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

כעקרון, מודל הטיפול בשגיאות בתוכניות הוא מורכב. התפיסה (ErrorHandling/Exception Traps וכו')
אמורה להתבצע כמפלט אחרון - ובתוך קטע קוד של תפיסה אתה אמור לטפל בשחרור משאבים, כתיבה
ללוג וזהו. לא לבצע פעולות נוספות שיכולות להכשל בעצמן.

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

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

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 01-07-2007, 15:45
צלמית המשתמש של Humbug
  משתמש זכר Humbug Humbug אינו מחובר  
אדמין לשעבר
 
חבר מתאריך: 25.10.01
הודעות: 20,292
תראה...
בתגובה להודעה מספר 3 שנכתבה על ידי danglam שמתחילה ב "האמת שהסיבה לכך שאני צופה..."

כתיבה לקבצים היא דוגמת בית-ספר לטיפול בExceptions.

בעבודה נכונה עם קבצים, אין סיבה להתקל בExceptions ואני אסביר-

א. לפני שניגשים לקובץ, יש לבדוק אם הוא קיים. לכל שפה יש את הExists שלה, אבל בגדול - File.Exists(path) מחזיר אמת אם קיים/שקר אם לא קיים, ואז עליך לפעול בהתאמה - לייצר קובץ חדש
או להשתמש בדגלים מתאימים בעת הגישה אליו.

ב. בדיקה האם ניתן לפתוח את הקובץ עם ההרשאות המבוקשות - גם כאן לכל שפה סט הפקודות
שלה, אבל בגדול - ניתן לבצע test על סט הרשאות מסויים - ולבדוק האם ניתן לפתוח את הקובץ.
הבעיות שעשויות למנוע פתיחת קובץ:
1. IOPermission או בעיות Security למניהן.
2. Multiple-Handle לאותו קובץ.
וכו'.

כל מקרה כזה ניתן לחזות ולמנוע. כאמור, אני לא מכיר VBA, אבל אני בטוח שתוכל למצוא את הפקודות הרלוונטיות בMSDN או Google.

הכי רלוונטי מבחינתך: http://www.codeproject.com/useritem...ccessRights.asp
_____________________________________
דורון

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 15:50

הדף נוצר ב 0.06 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר