在运行Yii,调试模式状态下(也就是在index.php里面设置
defined('YII_DEBUG') or define('YII_DEBUG',true);
),经常在遇到错误的时候会抛出这样的提示:
PHP Error
Description
Undefined index: XXXX
Source File
/XXXX.php(XXX)
我想问一下,怎么才能做到自己来捕捉这些错误呢?
下面代码:
try
{
//假设这里的代码有时候会出现一些错误,比如说请求远程的东西的时候超时,导致返回的结果为空
}
catch (Exception $e)
{
//这里我想自己来做一些处理
}
但是很奇怪,出现错误时,代码在try里面已经停下来了,错误被Yii捕获,而不是跑到我的catch里面。
有什么方法可以不要这样吗?
我知道比较迂回的方法是,在index.php里面把YII_DEBUG设为false,这样会跑到默认的SiteController的actionError里面来进行处理,但是我不想这样子,我想实现的是,跑到我的catch里面,可以吗?