تخطَّ إلى المحتوى

🦅 شرح Swift

معالجة الأخطاء

الدرس 22 من 25· ⏱ 1 دقائق قراءة

تعريف الأخطاء

enum LoginError: Error {
    case emptyPassword
    case wrongCredentials
}

دالة قد ترمي خطأ (throws)

func login(_ password: String) throws {
    if password.isEmpty {
        throw LoginError.emptyPassword
    }
    print("تسجيل دخول ناجح")
}

do / try / catch

do {
    try login("")
} catch LoginError.emptyPassword {
    print("كلمة المرور فارغة")
} catch {
    print("خطأ: \(error)")
}

try? و try!

let result = try? login("123")   // nil عند الخطأ بدل رميه
// let forced = try! login("123") // يتعطّل عند الخطأ — بحذر

defer للتنظيف

func process() {
    defer { print("تنظيف") }   // يُنفَّذ عند الخروج دائمًا
    print("معالجة")
}

🎯 التالي: إدارة الذاكرة (ARC).

هل كان هذا الدرس مفيدًا؟