← Rust

LESSON / MIXED

エラー型とアプリケーション設計

エラー型とアプリケーション設計を学び、実務での設計判断につなげます。

エラー型

複数の失敗原因を整理し、呼び出し側が適切に対応できるようにします。

#[derive(Debug)]
enum ConfigError{Missing,Invalid,OutOfRange}
fn parse_port(s:&str)->Result<u16,ConfigError>{
 let n=s.parse::<u32>().map_err(|_|ConfigError::Invalid)?;
 if n==0||n>u16::MAX as u32{return Err(ConfigError::OutOfRange);}
 Ok(n as u16)
}

エラーは利用者向けメッセージと内部診断情報を分けます。thiserrorやanyhowも選択肢ですが、このRunnerでは外部crateを使えません。

演習:ポート番号

コード提出フォーム

RUST

安全なサーバー側採点連携が未接続のため、現在は提出できません。

採点基盤準備中

公開テストケース

読み込み中…