[英]Exception not catch by Try/Catch in PHP
我试过这个例子:
<?php
try {
Not_Exist();
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
?>
http://php.net/manual/zh/language.exceptions.php但未捕获到错误:
致命错误:在第3行的C:\\ Program Files(x86)\\ EasyPHP-DevServer-14.1VC9 \\ data \\ localweb \\ mysite \\ public_html \\ exception.php中调用未定义函数Not_Exist()
为什么? 我通常使用Dotnet。 也许我想念一些东西。
error
也不例外。 PHP本身不会在语法错误(例如缺少函数)上引发异常。 您将需要set_error_handler()
来“捕获”此类内容-即便如此,自定义错误处理程序也无法处理此类解析错误。
您的代码中没有抛出异常。 您只是遇到致命错误。 如果您想找到一种解决致命错误的方法,那么这篇文章可能会对您有所帮助。 如何捕获PHP致命错误
如果您尝试捕获异常,则如下所示:
try {
throw new Exception("Exception Message");
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
因为那是fatal error
,所以也不例外。 您将要使用PHP的function_exists()方法并尝试执行以下操作:
try{
function_exists(Not_Exist);
} catch (Exception $e) {
// error here
}
// run Not_Exist here because we know its a valid function.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.