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

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

הנה מה שאתה צריך לדעת על שלושת סוגי שגיאות התכנות הללו וכיצד תוכל להגן מפנין:

1. זמן ריצה או שגיאות ביצוע

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

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

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

לכן, חלוקה באפס מובילה לחריג חשבון במהדר Java.

2. שגיאות לוגיות

שגיאות לוגיקה נגרמות עקב חשיבה לקויה. חשוב לציין כי שגיאות אלה אינן נובעות בהכרח מ"טעות "שעשית. הם עשויים להתרחש מכיוון שלא שקלת תרחיש ביצוע מסוים.

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

instagram viewer

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

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

קָשׁוּר: טעויות תכנות וקידוד הנפוצות ביותר

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

עבור (int x = 1; x <5; x ++) {System.out.ln (x * x); }

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

שגיאת לוגיקה נפוצה נוספת היא השארת שני הפלטות של הצהרת בקרה ובכל זאת הגוף למטה יוצר גוש קוד שנמצא בשליטתו.

עיין בדוגמה למטה. זה בודק אם מספר אקראי הוא אי זוגי או אפילו, ואז מדפיס פלט.

ייבא java.util. אַקרַאִי;
כיתה ציבורית OddEven {
ראשי סטטי ציבורי ריק (מחרוזת [] טוען) {
אקראי NumberGenerator = אקראי חדש ();
int randomNumber = numberGenerator.nextInt (10);
אם ((אקראי מספר 2) == 0)
System.out.println ("הנה מספר המזל שלך:" + מספר אקראי);
System.out.println ("המספר" + randomNumber + "שקיבלת הוא אפילו"); // שורה 11
}
}

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

כולל שניהם System.out.println הצהרות בין הפלטה {}, היו נמנעות מכך.

קָשׁוּר: צעדים לפיתוח תוכנה שכל המתכנתים צריכים לדעת

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

3. תחביר או שגיאות זמן קומפילציה

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

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

סובלנות תקלות

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

להמשיך בביצוע התוכנית ללא קשר לחריג שנתפס ב- לתפוס חסום, השתמש ב- סוף כל סוף הַצהָרָה.

התחביר הוא:

נסה {// חסום כדי לבצע אם אין בעיות} 
לתפוס (חריג e) {
// חסום לטיפול בבעיות שנמצאו
} סוף סוף {// חסום לביצוע לאחר תפיסה
}

עיין בדוגמת הקוד למטה:

ייבא java.util. אַקרַאִי;
מעמד ציבורי RandomNumbers {
ראשי סטטי ציבורי ריק (מחרוזת [] טוען) {
אקראי NumberGenerator = אקראי חדש ();
לְנַסוֹת{
עבור (מונה int = 10; מונה <= 100; מונה ++) {
int randomNumber = numberGenerator.nextInt (10);
System.out.println (counter / randomNumber); } }
לתפוס (חריג e) {
System.out.println ("נתקל בחלוקה באפס!");
}
סוף כל סוף{
System.out.println ("ערך אינסופי קיבל");}
}
}

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

השתפר בקידוד

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

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

אימייל
מהו קידוד ואיך זה עובד?

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

קרא הבא

נושאים קשורים
  • תִכנוּת
  • ג'אווה
  • טיפים לקידוד
על הסופר
ג'רום דוידסון (14 מאמרים פורסמו)

ג'רום הוא סופר צוות ב- MakeUseOf. הוא מכסה מאמרים בנושא תכנות ולינוקס. הוא גם חובב קריפטו ותמיד עוקב אחר תעשיית הקריפטו.

עוד מג'רום דוידסון

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

צעד אחד נוסף !!!

אנא אשר את כתובת הדוא"ל שלך בדוא"ל ששלחנו לך זה עתה.

.