Rust bize hataları işleyebilmemiz için çok sayıda olanak sunar. Standart kitaplık tarafından sağlanan ve hataları evrensel düzeyde ele almamızı sağlayan std::error::Error
özelliği de bunlardan biridir.
Hata döndürmek için Box
akıllı işaretçisinden yararlanmak ve onu ortak genel tür olarak Box<dyn std::error::Error>
şeklinde kullanmak, öbek üzerindeki hatayı belirli bir tür bildirmeksizin yaymamıza ve bu hatayla yüksek düzeyde etkileşim kurmamıza olanak sağlar.
Turumuzun ilk bölümlerinde Rust'un main işlevinin hata döndürebileceğini öğrenmiştik. Buna ek olarak yine main işlevinden, hatanın temsil edildiği veri yapısı Rust'un ortak Error
özelliğini uyguladığı sürece, bir programda meydana gelebilecek her türlü hatayı tanımlayabilen bir tür döndürebiliriz.
fn main() -> Result<(), Box<dyn std::error:Error>>