قد تحتوي التعليمات البرمجية في رست (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>>