CakePHP 2.0でのエラー処理

前のエントリーでCakePHPの悪いところを指摘したので、良いところも書いておきます。

CakePHPのErrorHandlerの悪い部分を直してみる - basuke の日記

CakePHP 2.0ではエラー処理は完全に書き直されてますね。ObjectがcakeErrorを受け付けてましたが、メソッドがなくなり、ランタイムのエラーはちゃんとExceptionで処理するようになってます。

https://github.com/cakephp/cakephp/blob/2.0/lib/Cake/Error/exceptions.php

403に対応するForbiddenExceptionも新設されているようです。問題を起こしたい場合は、適当なExceptionをnewしてthrowすることになるようです。

また、Exceptionは単に情報だけを保持していて、それを処理するErrorHandlerクラスと、エラー結果を画面に表示するExceptionRendererクラスに処理が渡されます。いい仕事してますね。

https://github.com/cakephp/cakephp/tree/2.0/lib/Cake/Error

RendererはちゃんとConfigureで替えられるようになってます。期待通り。

viva 2.0.