php - PHP 中是否可以防止 "Fatal error: Call to undefined function"?

标签 php error-handling undefined fatal-error

在 PHP 中,有什么方法可以忽略未定义的函数,而不是抛出浏览器中可见的 fatal error ? - 即, fatal error :调用未定义的函数

我知道有一种将所有自定义函数包装在条件中的做法,如下所示,但是有没有一种编程方法可以达到这种效果?

if (function_exists('my_function')) { 

   // use my_function() here;

}

最佳答案

没有。 fatal error 是致命的。即使您编写自己的错误处理程序或使用 @ 错误抑制运算符,E_FATAL 错误仍会导致脚本停止执行。

处理这个问题的唯一方法是使用 function_exists() (可能还有is_callable()作为良好的衡量标准)如上面的示例所示。

围绕潜在(可能?)错误进行防御性编码总是比让错误发生并稍后处理它更好。

编辑 - php7 改变了这种行为,未定义的函数/方法是可捕获的异常。

关于php - PHP 中是否可以防止 "Fatal error: Call to undefined function"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7116995/

相关文章:

c - C 程序中 undefined reference

PHP SOAP 客户端 至 WCF

php - 表的 Id 列在发送到客户端之前是否应该加密/散列

bash - 是否可以将错误输出发送到bash中的变量?

javascript - AJAX 错误 : TypeError: 'arguments' , 'callee' 和 'caller' 无法在此上下文中访问

javascript - 我的 DIY trim 函数无法返回正确答案,它返回未定义

javascript - 在 JavaScript 中,typeof x == 'y' 和 typeof x === 'y' 之间有什么区别吗?

php - Express Checkout for Paypal,为什么要通过三种方式完成支付?

php - 强密码验证 laravel

string - 将字母放入字符串时为什么会出错?