エラー処理のサンプルコード
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 などを使う。