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

paths: ["lib/**"]

エラーハンドリング規約 (Error Handling)

エラーの分類・処理方法・ログ出力の方針を定める.例外を扱うコードを書くときは本ルールに従うこと.

基本方針 (Basic Policy)

層をまたいでエラーを伝播させ,最終的に画面でユーザーに通知する.

  • Service 層: 例外をキャッチし,呼び出し元に結果を返す.想定外の例外はそのまま上位に伝播させる
  • Provider 層: Service の結果を受け取り,状態(エラーメッセージ等)として保持する
  • Screen 層: Provider の状態を参照し,ユーザーにフィードバックを表示する(スナックバー等)

想定するエラー (Expected Errors)

エラー発生箇所対処
カメラ初期化失敗CameraProviderエラーメッセージを画面に表示
パーミッション拒否PermissionService設定画面への誘導を表示
ストレージ書き込み失敗FileServiceスナックバーでエラー通知
ファイル削除失敗FileServiceスナックバーでエラー通知

ログ出力 (Logging)

  • 開発中は debugPrint() を使用する(リリースビルドでは自動的に無効化される)
  • print() は使用しない