我无法使用try .... catch来捕获php异常

时间:2011-06-04 18:43:46

标签: zend-framework exception php

我遇到了PHP异常问题。即使我尝试执行此代码:

try {
    $some->knownMethodWithError();
} catch(Zend_Exception $exp){
    echo 'Error!: ' . $exp->getMessage();
}

我的apache / php服务网页总是显示500错误。我的意思是,

echo 'Error!: ' . $exp->getMessage();

永远不会被执行。我已经测试了重定向而不是回声,但它不起作用。是否有一些导致此行为的php.ini指令,或者它可能是其他内容?。

这发生在我基于Zend Framework的项目中。

2 个答案:

答案 0 :(得分:5)

此外,您的代码只会捕获Zend_Exception。 如果您有自定义异常,那么catch(Exception $ e)将有更多机会捕获所有这些

也许您可以使用完整日志运行脚本。更改服务器上的php.ini

error_reporting=E_ALL | E_STRICT

或者更好地在带有调试器的IDE环境中运行它。

答案 1 :(得分:3)

500错误不是PHP异常,它发生在代码级别之上。 500错误意味着PHP尝试解析您的脚本时可能出错(可能)。可能你的代码有语法错误。