try catch和构建函数有什么区别?

时间:2017-09-06 21:23:40

标签: php try-catch

如果我使用try catch方法而不是构建functions,我想知道将添加到我的代码中的性能是什么,更明确的是这里是比较:

功能方法:



<?php 
       $num_1 = 5;
       $num_2 = 12;
       compare($num_1, $num_2);
  

function compare($var1, $var2){
  if ($var2 > $var1) echo "That's Right 12 is bigger than 5";
  if ($var2 < $var1) echo "That's Wrong 12 is Not less than 5";
  exit();
  }
  
  ?>
&#13;
&#13;
&#13;

尝试Catch方法:

&#13;
&#13;
<?php 
       $num_1 = 5;
       $num_2 = 12;
       
  try{
    if ($var2 > $var1) throw new Exception("That's Right 12 is bigger than 5");
    if ($var2 < $var1) throw new Exception("That's Wrong 12 is Not less than 5");
    }
         
  catch (Exception $e) {
      echo "$e->getMessage()";
      exit();
   }
  ?>
&#13;
&#13;
&#13;

在这两种方法中我会得到相同的结果,那么使用try catch的好处是什么,当我决定必须使用它时。

1 个答案:

答案 0 :(得分:1)

您使用try...catch来返回值吗?这并不意味着这样做。

尝试... catch意味着捕获异常,例如零除,写一个只读文件,这样的东西,而不是返回值。

对于使用try ... catch函数,请使用以下内容:

<?php
function divide($first, $second) {
    try {
        $result = $first / $second;
    }
    catch(Exception e) {
        die("Error. Division by zero");
    }
    return $result;
}
?>