gpt4 book ai didi

php - 如果 call_user_func 应该返回 false 怎么办?

转载 作者:可可西里 更新时间:2023-11-01 13:12:25 26 4
gpt4 key购买 nike

我用 call_user_func 调用的函数应该返回 FALSE。那么,如果可调用对象无效,我该如何检测错误呢?

(旁注:为什么他们没有抛出异常而不是返回错误代码?或者有没有办法“捕获”错误?我有一个错误句柄。我应该让它为我抛出异常吗? )

最佳答案

如果要检查要调用的函数或方法是否真的存在,可以使用is_callable在打电话之前 call_user_func .您可以将整个内容包装在一个函数中以便于重用:

function call_uf($fn) {
if(is_callable($fn)) {
return call_user_func($fn);
} else {
throw new Exception("$fn is not callable");
}
}

您在评论中询问了为什么 PHP 会引发错误而不是使用异常。我认为那是因为异常是在 PHP5 中才引入的,所以大多数 PHP 函数都依赖于错误报告。似乎有办法解决这个问题,因为 the manual表示:

Internal PHP functions mainly use Error reporting, only modern Object oriented extensions use exceptions. However, errors can be simply translated to exceptions with ErrorException.

关于php - 如果 call_user_func 应该返回 false 怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11767728/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com