錆のエラー処理

結果&パニック

これは、歴史と略さプロセスの過ちから、詳細にそれを置きます

彼らは理解して書かれています、

まず浅い、そして深い、深いまず、その後の浅いです、

ここでも、

慈悲深い学び〜

std :: fsの::ファイルを使用します。
// 使用のstd :: IO :: ErrorKind。

メインFN(){ 
    // !パニック( "クラッシュや火傷");
    // V = VECを聞かせて、[1、2、3]!;
    // V [99]。
    / * 
    F =ファイル::オープン( "hello.txt")しましょう。

    聞かせてF =マッチF { 
    OK(ファイル)=>ファイル、
    のErr(エラー)=>マッチerror.kind(){ 
        ErrorKind :: NOTFOUND =>マッチファイル::作成( "hello.txt"){ 
        OK(FC) => FC、
        のErr(E)=>パニック!( "新しいファイルを作成してみますが、エラー:{:?#}"、E)、
        }、
        OTHER_ERROR =>パニック(「ファイルを開くに問題が発生しました:!{ ?:#}」、OTHER_ERROR)、
    }、
    };

    聞かせてF =ファイル::オープン( "hello.txt")map_err(|。エラー| { 
    error.kind()== ErrorKind :: NOTFOUND {もし
        ファイル::( "hello.txt"を作る)unwrap_or_else(|。エラー| { 
        !パニック( "?新しいファイルを作成してみますが、エラー:{#}"、エラー); 
        })
    }他{ 
        !パニック( "?ファイルを開く問題がありました:{#}"、エラー) ; 
    } 
    })。
    * / 

    // 聞かせてF =ファイル::オープン( "hello.txt")アンラップ(); 
    F =ファイル::オープン(みましょう" hello.txt "().expect " hello.txtのオープンに失敗しました" ); 
    println(!" f値は{:?#} " 、F)。
}

おすすめ

転載: www.cnblogs.com/aguncn/p/11406912.html
おすすめ