Menu
Coddy logo textTech

יצירת שגיאות עם עיצוב

חלק מהיחידה יסודות במסלול ה-GO של Coddy. שיעור 107 מתוך 109.

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

הפונקציה fmt.Errorf() יוצרת שגיאות עם מחרוזות מעוצבות, בדומה ל־fmt.Printf():

import (
    "fmt"
)

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, fmt.Errorf("cannot divide %d by zero", a)
    }
    return a / b, nil
}

func main() {
    result, err := divide(10, 0)
    if err != nil {
        fmt.Println("Error:", err)
    } else {
        fmt.Println("Result:", result)
    }
}

הפלט יהיה:

Error: cannot divide 10 by zero
challenge icon

אתגר

מתחילים

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

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

נסו בעצמכם

package main

import (
	"fmt"
)

func main() {
	// שם משתמש שהוגדר מראש והוא קצר מדי
	username := "bob"
	// האורך המינימלי הנדרש
	minLength := 5
	
	// בדקו אם username תקין
	if len(username) < minLength {
		// TODO: צרו שגיאה בפורמט באמצעות fmt.Errorf שכוללת:
		// 1. את username הלא תקין
		// 2. את האורך המינימלי הנדרש
		// דוגמה לפורמט: "invalid username: [username] is too short, minimum length is [minLength]"
		err := // הקוד שלכם כאן
		
		// הדפיסו את השגיאה
		fmt.Println(err)
	} else {
		fmt.Println("Username is valid!")
	}
}
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר Go אונליין