Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

إنشاء أخطاء منسقة

جزء من قسم Fundamentals في رحلة 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 أحرف). مهمتك هي إنشاء رسالة خطأ منسقة تتضمن اسم المستخدم غير الصالح والحد الأدنى للطول المطلوب.

ورقة مرجعية

استخدم fmt.Errorf() لإنشاء رسائل خطأ منسقة بقيم ديناميكية:

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
}

جرّب بنفسك

package main

import (
	"fmt"
)

func main() {
	// اسم مستخدم محدد مسبقًا قصير جدًا
	username := "bob"
	// الحد الأدنى للطول المطلوب
	minLength := 5
	
	// التحقق مما إذا كان اسم المستخدم صالحًا
	if len(username) < minLength {
		// TODO: قم بإنشاء خطأ منسق باستخدام fmt.Errorf يتضمن ما يلي:
		// 1. اسم المستخدم غير الصالح
		// 2. الحد الأدنى للطول المطلوب
		// مثال على التنسيق: "invalid username: [username] is too short, minimum length is [minLength]"
		err := // الكود الخاص بك هنا
		
		// طباعة الخطأ
		fmt.Println(err)
	} else {
		fmt.Println("Username is valid!")
	}
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals