找不到视图文件时,Yii错误处理程序不起作用

Dha*_*ami 6 php error-handling yii

我已经在我的Yii网站中设置了错误处理程序.

这是代码.

main.php

'errorHandler'=>array(
        // use 'site/error' action to display errors
        'errorAction'=>'site/error',
),
Run Code Online (Sandbox Code Playgroud)

SiteController.php

public function actionError() {
        if ($error = Yii::app()->errorHandler->error) {
            if (Yii::app()->request->isAjaxRequest)
                echo $error['message'];
            else
                $this->render('error', $error);
        }
    }
Run Code Online (Sandbox Code Playgroud)

网站/ error.php

<?php
    $this->pageTitle=Yii::app()->name . ' - Error';
    $this->breadcrumbs=array(
        'Error',
    );
?>

<h2>Error <?php echo $code; ?></h2>

<div class="error">
    <?php echo CHtml::encode($message); ?>
</div>
Run Code Online (Sandbox Code Playgroud)

它正常工作并重定向到此自定义错误页面如果URL错误或用户调用错误的功能.例如,如果在站点控制器中我已设置contact功能并且用户调用此类URL,localhost.com/site/contactsdffe则它会重定向到此自定义错误页面.

但问题出在这里.

如果控制器函数调用视图联系人并且我没有设置views/site/contact.php视图那么它不会被称为此自定义错误页面.它给了我一个这个异常错误.

CException:SiteController无法找到请求的视图"联系人".

我不知道为什么错误处理程序不适用于这种情况,请告诉我如何显示此类错误的自定义错误页面.

任何帮助将不胜感激.提前致谢 !