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

التحقق من الأخطاء

جزء من قسم Fundamentals في رحلة GO على Coddy — الدرس 105 من 109.

في لغة Go، نتحقق من الأخطاء باستخدام جمل if. هذا النمط شائع للغاية.

تحقق مما إذا كان قد حدث خطأ باستخدام if err != nil:

func main() {
    result, err := divide(10, 0)
    
    if err != nil {
        fmt.Println("Error occurred:", err)
        return // توقف عن التنفيذ في حالة وجود خطأ
    }
    
    // استمر فقط في حالة عدم وجود خطأ
    fmt.Println("Result:", result)
}

ستكون النتيجة:

Error occurred: cannot divide by zero
challenge icon

التحدي

مبتدئ

في لغة Go، غالباً ما تُرجع الدوال قيمة خطأ (error) تحتاج إلى التحقق منها قبل استخدام النتيجة. في هذا التحدي، ستتدرب على التحقق من الأخطاء باستخدام جملة if.

لدينا دالة تسمى openFile تحاكي فتح ملف وتُرجع خطأً إذا لم يكن الملف موجوداً. مهمتك هي التحقق مما إذا كان هناك خطأ وطباعة رسالة مناسبة.

ورقة مرجعية

تحقق من وجود أخطاء باستخدام if err != nil:

result, err := someFunction()

if err != nil {
    fmt.Println("Error occurred:", err)
    return // توقف عن التنفيذ في حال وجود خطأ
}

// استمر فقط في حال عدم وجود خطأ
fmt.Println("Result:", result)

جرّب بنفسك

package main

import (
	"fmt"
)

// هذه الوظيفة تحاكي فتح ملف
// تعيد خطأ إذا كان الملف غير موجود
func openFile(filename string) error {
	if filename == "data.txt" {
		return nil // nil تعني عدم وجود خطأ
	} else {
		return fmt.Errorf("file %s not found", filename)
	}
}

func main() {
	filename := "config.txt"
	
	// استدعاء وظيفة openFile
	err := openFile(filename)
	
	// TODO: تحقق مما إذا كان err ليس nil (مما يعني وجود خطأ)
	// إذا كان هناك خطأ، اطبع: "Error: " متبوعاً برسالة الخطأ
	// إذا لم يكن هناك خطأ، اطبع: "File opened successfully"
	
}
quiz iconاختبر نفسك

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

جميع دروس Fundamentals