تخطى إلى المحتوى
أخطاء مترجم Rustفادح
panic-unwrap

Panic — استدعاء unwrap() على None أو Err

انهار البرنامج لأن unwrap() استُدعيت على قيمة None أو Err.

rustcargo

أسباب هذا الخطأ

استُدعيت unwrap() على Option قيمتها None أو Result قيمتها Err. هذا خطأ وقت تشغيل يُعطّل البرنامج. يشير إلى أن الكود افترض وجود قيمة دائماً، لكنها لم تكن موجودة.

كيفية الإصلاح

استخدم match أو if let لمعالجة حالات None وErr بأمان. استخدم unwrap_or() أو unwrap_or_default() أو unwrap_or_else() لتوفير قيم احتياطية. استخدم المعامل ? لنشر الأخطاء بدلاً من الانهيار.

مثال

let x: Option<i32> = None;
x.unwrap(); // panics!
التوثيق الرسمي

رموز أخطاء ذات صلة