معالجة الأخطاء باحترافية
بدلاً من استخدام expect ينبغي لنا إرجاع Result. هذا يسمح للمستدعي (caller) بتقرير كيفية التعامل مع الخطأ.
rust use std::fs::File; use std::io::{self, Read};
fn read_username() -> Result<String, io::Error> { let mut f = File::open("hello.txt")?; let mut s = String::new(); f.read_to_string(&mut s)?; Ok(s) }
عامل ? يجعل الكود نظيفاً وآمناً.