【发布时间】:2010-05-09 06:50:31
【问题描述】:
我想捕获脚本中抛出的所有异常,然后检查它们是否有错误代码 23000。
如果他们不这样做,我想重新抛出异常。
这是我的代码:
function myException($exception) {
/*** If it is a Doctrine Connection Mysql Duplication Exception ***/
if(get_class($exception) === 'Doctrine_Connection_Mysql_Exception' && $exception->getCode() === 23000) {
echo "Duplicate entry";
} else {
throw $exception;
}
}
set_exception_handler('myException');
$contact = new Contact();
$contact->email = 'peter';
$contact->save();
但我收到此错误消息,但我不知道这是什么意思:
Fatal error: Exception thrown without a stack frame in Unknown on line 0
如果没有错误代码 23000,我希望能够重新抛出原始错误消息。
即使我删除了检查错误代码,我仍然收到相同的消息:
function myException($exception) {
throw $exception;
}
set_exception_handler('myException');
$contact = new Contact();
$contact->email = 'peter';
$contact->save();
我该如何解决这个问题?
谢谢
【问题讨论】:
标签: php