הבנת `panic`
חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-GO של Coddy. שיעור 42 מתוך 68.
ב-Go, panic היא פונקציה מובנית המשמשת למצבים חריגים באמת, שבהם התוכנית שלך נתקלת בשגיאה שאי אפשר להתאושש ממנה וחייבת לעצור מיד. בניגוד לשגיאות רגילות שבהן מטפלים בצורה מסודרת, panic מיועדת לכשלים חמורים המעידים שמשהו שגוי באופן מהותי בלוגיקה או בסביבה של התוכנית שלך.
כאשר קוראים ל-panic, הביצוע הרגיל של הפונקציה הנוכחית נעצר מיד, ומתחילה פתיחה של מחסנית הקריאות. לכן היא שונה מאוד מהגישה המקובלת ב-Go, שבה מחזירים שגיאות שהקוד הקורא יכול לטפל בהן.
ב-Go אידיומטי, השימוש ב-panic נדיר. קהילת Go מעדיפה מאוד טיפול מפורש בשגיאות באמצעות ערכי החזרה, במקום טיפול בשגיאות המבוסס על panic. ייתכן שתיתקלו ב-panic במצבים כמו גישה למערך מחוץ לגבולותיו, ביטול הפניה של מצביע nil, או כאשר ספרייה מזהה מצב בלתי אפשרי שמעיד על באג בתוכנית.
על רוב תוכניות Go לטפל בשגיאות באלגנטיות באמצעות ממשק השגיאות הסטנדרטי שלמדת עליו. יש לשקול שימוש ב־panic רק כשבאמת אין דרך סבירה להמשיך להריץ את התוכנית.
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת התוכנית
1בקרת זרימה מתקדמת
switch עם `fallthrough`יציאה מלולאות מקוננותהמשך לולאה מסוימתהצהרת `goto`סיכום – שליטה מתקדמת בלולאות4פרויקט: רשימת משימות פשוטה
הגדרת הפרויקטהוספת משימה2מבנים ושיטות
הגדרת שיטות במבניםמקבלי ערךמקבלי מצביעבחירת מקבליםשיטות לעומת פונקציותסיכום — התנהגות המבנים5מפות לעומק
מפות של Structsמצביעים כערכים במפהבדיקה אם מפות הן nilהשוואת מפותסיכום - מונה תדירות מילים8פרויקט: ניהול מלאי פשוט
סקירת הפרויקטבדיקת המלאיתרגלו בעצמכם: קומפיילר Go אונליין