Newer
Older
SmTIAS-Evaluation / .claude / rules / error-handling.md

paths: ["src/", "scripts/"]

エラーハンドリング方針 (Error Handling)

ソースコード・実行スクリプトで例外処理・入力検証・ログ出力を書くときは本ルールに従うこと.

基本方針 (Principle)

  • 研究用のローカル実行ツールのため,過度な防御的プログラミングは行わない
  • エラーは早期に検出し,原因がわかるメッセージで失敗させる

エラーの分類 (Error Categories)

分類例対処
入力エラー画像ファイルが存在しない,形式が不正メッセージを出して即終了
計算エラーゼロ除算,配列サイズ不一致原因を特定できるメッセージで例外を送出
出力エラー書き込み先ディレクトリが存在しないディレクトリを自動作成する

実装ルール (Rules)

  • 入力の検証は システム境界(画像読み込み時)で行う
def load_image(path: str) -> numpy.ndarray:
    if not Path(path).exists():
        raise FileNotFoundError(f"画像ファイルが見つかりません: {path}")
  • 内部関数間では型や値の検証を重複させない
  • print ではなく例外で失敗を通知する
  • 例外は握りつぶさない(空の except: 禁止)

ログ出力 (Logging)

  • 現時点では print による簡易出力で十分とする
  • 処理の開始・完了を表示する程度にとどめる
print(f"解析開始: {image_path}")
print(f"結果を保存しました: {output_path}")