2017-09-06 66 views
0

我想知道的是,這將被添加到我的代碼的性能如果我使用的,而不是建立一個functionstry catch方法,更清楚這裏是一個比較:嘗試捕捉和構建函數有什麼區別?

功能的方法:

<?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(); 
 
    } 
 
    
 
    ?>

嘗試捕捉方法:

<?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(); 
 
    } 
 
    ?>

在這兩個方法,我會得到相同的結果

,那麼什麼是使用try catch的好處,當我決定我必須使用它。

回答

1

您正在使用try...catch返回值?這並不意味着這樣做。

Try ... catch是爲了捕獲異常,如零分,寫一個只讀文件,類似的東西,而不是返回值。

對於使用上的功能TRY ... CATCH,使用這樣的:

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

請你能在更多的細節去支持與代碼示例答案。 –

+0

你的第一個代碼是有道理的,沒關係。第二個代碼有效,但不要使用try ... catch。我在我的問題上添加了一個例子。 – ThoriumBR

+1

@mohamedmaher閱讀關於異常的教程並嘗試...... catch會更有意義。他們有一個非常特定的目的。 – Carcigenicate