Menu
CoddyTech

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

جزء من قسم الأساسيات في رحلة 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
	
	// تحقق مما إذا كان اسم المستخدم صالحًا
	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اختبر نفسك

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

جميع دروس الأساسيات

تدرّب بنفسك: مترجم Go عبر الإنترنت