搜索

首页  >  问答  >  正文

PHP 抛出异常 vs true or false

$edit //一段数据库操作

if ($edit) {
            return redirect('back/label/index')->with('message', '修改成功');
} else {
            return redirect('back/label/index')->with('message', '修改失败');
}
<?php  
//创建可抛出一个异常的函数  
function checkNum($number)  
 {  
 if($number>1)  
  {  
  throw new Exception("Value must be 1 or below");  
  }  
 return true;  
 }  

//在 "try" 代码块中触发异常  
try  
 {  
 checkNum(2);  
 //If the exception is thrown, this text will not be shown  
 echo 'If you see this, the number is 1 or below';  
 }  

//捕获异常  
catch(**Exception $e**)  
 {  
 echo 'Message: ' .$e->getMessage();  
 }  
?>  

希望大神能讲下两种的区别,以及各自的好处,谢谢。

仅有的幸福仅有的幸福2756 天前481

全部回复(3)我来回复

  • 仅有的幸福

    仅有的幸福2017-05-16 13:07:02

    ifelse:更加直观 适合逻辑较为简单的处理

    异常:更加灵活 适合逻辑复杂 层次较多的处理

    我自己平时一般使用异常来做的

    回复
    0
  • 習慣沉默

    習慣沉默2017-05-16 13:07:02

    第一种适合简单的交互,只要告诉用户失败/成功。第二种自己调试用的多,能够看到更多的错误原因。

    回复
    0
  • 迷茫

    迷茫2017-05-16 13:07:02

    因为你是在封装一个功能,用异常可以更加优雅地返回更多错误信息。不要污,要优雅(手动斜眼

    回复
    0
  • 取消回复