【发布时间】:2023-03-12 06:15:01
【问题描述】:
在 PHP 中是否有任何选项可以从函数中“返回 false”并发送相应的消息(如出了什么问题)?
抛出异常是实现这一目标的最佳方式吗?
【问题讨论】:
在 PHP 中是否有任何选项可以从函数中“返回 false”并发送相应的消息(如出了什么问题)?
抛出异常是实现这一目标的最佳方式吗?
【问题讨论】:
抛出异常总是好的,但它并不等于return false
但是,如果您的逻辑可以维持异常,则可以抛出它。可能是某种不同的类型,但不是一般的Exception
【讨论】:
是的,使用异常,如果您捕获异常,您可以将 var 设置为 false 并接收错误消息。
function foo($a = null) {
if(!$a) {
throw new Exception('$a must be defined');
}
}
try {
$var = foo();
} catch(Exception $e) {
$var = false;
echo $e->getMessage();
}
这样,当出现问题时,您可以为所欲为。
【讨论】:
您可以更改函数以在成功或失败时返回 true 或 false,并在通过引用传递的参数中返回您的变量。
即改变:
function foo()
{
return true;
}
到
function foo(&$ret)
{
if ( $something_went_wrong)
return false;
$ret = true;
return true;
}
【讨论】:
function bla(){
return false;
}
if(bla() === false){
echo "Failed";
}
但我相信例外更好。
【讨论】: