دورة تعلم رست (Rust) جدول المحتويات

مراجعة الدالة الرئيسية القابلة للفشل (Failable Main Revisited)

قد تحتوي التعليمات البرمجية في رست (Rust)على عدد كبير من تمثيلات الأخطاء (errors)، لكن المكتبة القياسية (standard library) لها سمة عالمية (universal trait) std::error::Error لوصف الأخطاء.

باستخدام المؤشر الذكي Box يمكننا استخدام النوع Box<dyn std::error::Error> كنوع شائع لإرجاع الأخطاء لأنه يسمح لنا بنشر خطأ في الكومة (heap) والتفاعل معه بسرعة مستوى عال دون الحاجة إلى معرفة نوع معين.

علمنا سابقا في دورة تعلم رست، أن main يمكنها إرجاع خطأ. والآن يمكننا إرجاع نوع قادر على وصف أي نوع من الأخطاء التي قد تحدث في برنامجنا تقريبًا طالما أن هيكل بيانات الخطأ (error's data structure) ينفذ سمة (trait) Error الشائعة في رست (Rust).

fn main() -> Result<(), Box<dyn std::error:Error>>