让我们使用这样一个例子:
try {
if( $var == false ) {
throw new Exception('Fail');
}
} catch (Exception $e) {
$error = $e->getMessage();
}
有什么方法可以在catch块之外使用$error
吗?如果我试着在外面打印,它什么都没有显示,所以我确信我做错了。任何帮助都是值得的。
编辑:这是我点击代码的确切情况
我需要在另一段代码中使用$error,在类
实际上,您正在返回错误消息,如果您删除return false语句,并尝试在循环外打印,它将打印出来。
你可以通过两种方式做到这一点:
选项1:
try {
if( $var == false ){
throw new Exception('Fail');
}
} catch (Exception $e){
$error = $e->getMessage();
// return false;
}
print_r($error);
选项2:
try {
if( $var == false ){
throw new Exception('Fail');
}
} catch (Exception $e){
return $error = $e->getMessage();
}
如果没有发生错误,则返回true。否则它将返回错误。
$error = false;
try {
if( $var == false ){
throw new Exception('Fail');
}
} catch (Exception $e){
$error = $e->getMessage();
}
return $error;
返回true还是false取决于您的实现。
您不应该$error在catch中解密。你的函数抛出了一个异常——不要使用try-catch。只需抛出异常
您的函数应该只返回一种类型;如果返回boolean,则返回aways boolean
如果您需要打印错误,可以将其打印在catch 中