Menu
Coddy logo textTech

יצירת שגיאות פשוטות

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

ב-Go, אפשר ליצור שגיאות מותאמות אישית באמצעות הפונקציה errors.New() מהספרייה הסטנדרטית.

ייבא את חבילת השגיאות:

import (
    "errors"
    "fmt"
)

צרו שגיאה פשוטה עם הודעה:

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, errors.New("cannot divide by zero")
    }
    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 by zero
challenge icon

אתגר

מתחילים

באתגר הזה תתרגלו יצירת שגיאה פשוטה ב-Go באמצעות הפונקציה errors.New().

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

נסו בעצמכם

package main

import (
	"errors"
	"fmt"
)

func main() {
	// בדיקה עם שם משתמש תקין
	result, err := validateUsername("gopher123")
	if err != nil {
		fmt.Println("Error:", err)
	} else {
		fmt.Println(result)
	}

	// בדיקה עם שם משתמש לא תקין
	result, err = validateUsername("go")
	if err != nil {
		fmt.Println("Error:", err)
	} else {
		fmt.Println(result)
	}
}

func validateUsername(username string) (string, error) {
	if len(username) < 5 {
		// TODO: החזירו שגיאה עם ההודעה "username must be at least 5 characters long"
		// רמז: השתמשו ב-errors.New() כדי ליצור שגיאה חדשה
		return "", nil // החליפו את השורה הזו
	}
	return "Username is valid", nil
}
quiz iconבחנו את עצמכם

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

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

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