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

בעיות נפוצות מהן צריך להיזהר

בעיות נפוצות פתרונות
חלוקה באפס תמיד כשיש חלוקה, עלולה להיות חלוקה באפס, שהיא אסורה ותוקעת את התוכנית (או "מעיפה" אותה).

לפני שמחלקים, לבדוק אם המספר שבו מחלקים אינו אפס (ע"י מבנה If..Then פשוט). אם כן הזהירו את המשתמש!

מקבלים כל הזמן תוצאה אפס אחרי כפל - איפוס לא נכון של משתנה

אם הולכים להכפיל משתנה, לאפס אותו לאחד, ולא לאפס (כי כל מה שכופלים באפס הוא אפס)

מקבלים כל הזמן תוצאות מוזרות מפעולות על משתנה - איפוס לא נכון של משתנה

לא לשכוח לאפס משתנים מיד אחרי שהוגדרו!

טעויות בשמות של משתנים ופקדים.

לא להתבלבל. לערוך רישום. לבחור שמות חכמים וברורים עפ"י כללים ידועים וקבועים.

לולאות אינסופיות של
For..Next

לבדוק שלא משנים במהלך הלולאה את הערך של מונה הלולאה עצמו.

לולאות אינסופיות של
Do..Loop

לבדוק שלא נתתם תנאי בלתי אפשרי להפסקת הלולאה (למשל, שהאות "א" תהיה שווה ל- "ת"). לבדוק גם שהקוד עצמו לא מאפס שלא לצורך את המשתנה אשר הלולאה בודקת.

לולאת Do..Loop אשר הקוד תמיד מדלג עליה

לבדוק אם התנאי של הלולאה נכון, ואם אינו מסתמך על משתנה או תנאי אחר אשר לעולם לא יהיו נכונים.

בזמן לולאות ארוכות, נראה שחלונות "נתקעת"

להוסיף באמצע הלולאה את הפקודה .DoEvents פקודה זו משחררת את חלונות לשאר עיסוקיה.

פקודות If..Then אשר אינן עובדות נכון

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

מבני If..Then או Do..Loop שאינם עובדים כלל

בדקו אם לא נתתם כלל שלא מתקיים אף-פעם, או כזה שמתקיים תמיד.

נתונים חסרים לביצוע פקודות שונות

אם אתם מקבלים מידע מהמשתמשים, בדקו תמיד שהמידע קיים, ושהוא מספיק. אם אתם מנסים לחשב שנת לידה, והמשתמש לא סיפק בכלל תאריך תיווצר בעיה.

חלוקה לא עובדת כפי שצפינו

לא להכניס תוצאת חלוקה למספר שלם. להיזהר להשתמש בסימן הנכון (/ לחלוקה מלאה, \ לחלוקה שלמה).


ישנן עוד בעיות רבות ונפוצות יותר ופחות, אך קשה לחשוב על כולן.