PHP中是否有任何选项可以从函数中“返回false”并发送相应的消息(如出错)?
抛出异常是达到此目的的最佳方法吗?
答案 0 :(得分:3)
抛出异常总是好的,但它实际上并不等于return false
但是如果你的逻辑可以维持一个异常,那么抛出它是可以的。可能是某种不同的类型,但不是通用的Exception
答案 1 :(得分:1)
是的,使用异常,如果捕获异常,可以将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();
}
这样,当出现问题时,你可以做任何你喜欢的事情。
答案 2 :(得分:0)
您可以将功能更改为在成功或失败时返回true
或false
,并将您的变量返回到通过引用传递的参数中。
即。改变:
function foo()
{
return true;
}
到
function foo(&$ret)
{
if ( $something_went_wrong)
return false;
$ret = true;
return true;
}
答案 3 :(得分:0)
function bla(){
return false;
}
if(bla() === false){
echo "Failed";
}
但我相信例外更好。