Menu
Coddy logo textTech

הממשק `error`

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

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

הנה הגדרת הממשק של השגיאה:

type error interface {
    Error() string
}

צרו סוג שגיאה מותאם אישית:

type MyError struct {
    Message string
}

func (e MyError) Error() string {
    return e.Message
}

func main() {
    err := MyError{Message: "something went wrong"}
    fmt.Println(err)
}

הפלט יהיה:

something went wrong
challenge icon

אתגר

קל

באתגר הזה תעבדו עם הממשק error של Go. עליכם ליצור שגיאה מותאמת אישית באמצעות הפונקציה errors.New() ואז לבדוק אם קיימת שגיאה.

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

נסו בעצמכם

package main

import (
	"errors"
	"fmt"
)

func main() {
	// הפונקציה הזו מחזירה שגיאה
	err := generateError()
	
	// TODO: לבדוק אם err אינו nil
	// אם err אינו nil, יש להדפיס: "Error occurred: " ואחריו את הודעת השגיאה
	// HINT: יש להשתמש במשפט if כדי לבדוק אם err != nil
	
	
	// השורה הזו מתבצעת בין אם התרחשה שגיאה ובין אם לא
	fmt.Println("Program completed successfully")
}

// הפונקציה הזו יוצרת שגיאה
func generateError() error {
	return errors.New("something went wrong")
}
quiz iconבחנו את עצמכם

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

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

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