繁体   English   中英

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

[英]I can't catch php exceptions using try…catch

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

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

我的 apache/php 服务的 web 页面总是显示 500 错误。 我是说,

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

从不被执行。 我已经用重定向而不是那个回声进行了测试,但它不起作用。 是否有一些 php.ini 指令会导致这种行为,或者可能是其他原因?

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

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

也许您可以运行带有完整日志的脚本。 把你的php.ini在服务器上就行了:

error_reporting=E_ALL | E_STRICT

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM