обработка ошибок

Видимо что то я упускаю, но не получается обрабатывать ошибки, точнее не всегда получается.

Есть контроллер SIte в нем два метода actionA и actionB. А так же в нем есть метод actionError.

в когфиге прописано




'errorHandler'=>array(

    'errorAction'=>'site/error',

),



в методе A вызывается не сущ. файл, соотвественно генерируется ошибка.

если вызываю непосредственно метод A (через адрес. строку, на пример: localhost/index.php?r=site/A)

то вижу как обработчик срабатывает.

Если же вызываю этот же метод но аяксом то в обработчик даже не заходит.

А еще прочитав мануал у меня не получается использовать свой вид для отображения ошибки.

создал папку system в папке views приложения и создал вид error500.php. Не цепляет.

P.S. дебаг отключен define(‘YII_DEBUG’, false); а так же включены define(“YII_ENABLE_ERROR_HANDLER”, true);

define("YII_ENABLE_EXCEPTION_HANDLER", true);

Дебаг показал что в

CErrorHandler.php:233

есть кусочек кода который


			if(!headers_sent())

				header("HTTP/1.0 500 PHP Error");

			if($this->isAjaxRequest())

				$app->displayError($event->code,$event->message,$event->file,$event->line);

			else if(YII_DEBUG)

				$this->render('exception',$data);

			else

				$this->render('error',$data);



как раз таки когда аякс запрос делается фрейм. просто пуляет ошибку в аутпут через echo

а если не аякс то тогда вызывает render.

Это бага ? или фича ? :)