W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
ch09-00-error-handling.md
commit 199ca99926f232ee7f581a917eada4b65ff21754
錯誤是軟件中不可否認的事實,所以 Rust 有一些處理出錯情況的特性。在許多情況下,Rust 要求你承認錯誤的可能性,并在你的代碼編譯前采取一些行動。這一要求使你的程序更加健壯,因為它可以確保你在將代碼部署到生產(chǎn)環(huán)境之前就能發(fā)現(xiàn)錯誤并進行適當(dāng)?shù)奶幚怼?/p>
Rust 將錯誤分為兩大類:可恢復(fù)的(recoverable)和 不可恢復(fù)的(unrecoverable)錯誤。對于一個可恢復(fù)的錯誤,比如文件未找到的錯誤,我們很可能只想向用戶報告問題并重試操作。不可恢復(fù)的錯誤總是 bug 出現(xiàn)的征兆,比如試圖訪問一個超過數(shù)組末端的為止,因此我們要立即停止程序。
大多數(shù)語言并不區(qū)分這兩種錯誤,并采用類似異常這樣方式統(tǒng)一處理他們。Rust 沒有異常。相反,它有 ?Result<T,E>
? 類型,用于處理可恢復(fù)的錯誤,還有 ?panic!
? 宏,在程序遇到不可恢復(fù)的錯誤時停止執(zhí)行。本章首先介紹 ?panic!
? 調(diào)用,接著會講到如何返回 ?Result<T,E>
?。此外,我們將探討在決定是嘗試從錯誤中恢復(fù)還是停止執(zhí)行時的注意事項。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: