第12章 · 初心者向け
ログ・エラー処理
ユーザーには短く、自分たちには詳しく。失敗に備える章です。
1. ログとは
アプリの出来事をファイルなどに残した記録
2. なぜログを残すのか
本番では詳細エラーを画面に出せません。後から原因を追うために必要です。
3. CakePHPでログ出力
use Cake\Log\Log;
Log::write('info', '一覧を表示しました');
Log::error('保存失敗: ' . $e->getMessage());
4. info / warning / error
info… 普通の記録warning… 変だけど動いているerror… 失敗
5. Exception
「ここで止めたい異常」を表すもの。throw すると処理が中断される
6. try / catch
たとえ
try=挑戦。catch=失敗したときの受け網。
try {
$this->Todos->saveOrFail($todo);
} catch (\Throwable $e) {
Log::error($e->getMessage());
$this->Flash->error('保存に失敗しました');
}
7. エラー時の処理
基本パターン
- ユーザーには短い Flash
- ログには詳細
- 必要ならROLLBACK
- 安全な画面へ戻す
第12章 やってみよう
EXERCISE
- 失敗時に Log::error する catch を書く
- ユーザー向け文面は1行にする