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