轉換錯誤型別

比起先前提到的下列程式碼,? 的有效擴展稍微更複雜一點:

expression?

運作方式與以下程式碼相同:

match expression {
    Ok(value) => value,
    Err(err)  => return Err(From::from(err)),
}

這裡的 From::from 呼叫意味著,我們嘗試將錯誤型別轉換成函式回傳的型別: