エラー処理のサンプルコード

Wandboxで、Rust と Scala で Result/Either を使ったサンプルコードを書いてみた。

 

[Rust Result sample ](https://wandbox.org/permlink/nbwQkC94TZwY4lix)

[Scala Either sample](https://wandbox.org/permlink/ExJHa7TPKRplXSym)

 

 エラーと言っても種類がある。

 

アプリケーションの責任範囲外で正常に終了できない場合

例外処理でよい。エラー情報を記録して、アプリケーションを終了する。

 

例:

  • メモリ確保失敗(メモリ不足、メモリのCRCエラーなど)
  • ファイル書き込みエラー(ディスクフル、ディスク書き込み不良など)
  • 通信エラー(断線等のハードウェアの故障)

正常状態に復帰可能

  • ファイルオープンエラー(ファイル名間違い、パス名間違い)
  • ファイル書き込みエラー(アクセス権の設定ミス)
  • 通信エラー(電波状態不良、通信帯域が混み合っている)

失敗した処理を再度行い、正常終了するか試す。

maybe/option, Result/Either などを使う。