2013-12-17 97 views
-5

我這樣做:我怎麼能忽視PHP異常

try 
{ 
    $result=100/0; 
} 
catch(Exception $e) 
{ 
    $result=0; 
} 

我越來越除零異常:由零

但我希望司:

警告發生異常時將結果設置爲零。我該怎麼做。謝謝,

+3

沒有什麼要問,你做得很好 – Parixit

+0

一般來說,你應該避免忽視這樣的例外,只是檢查你不除以0第一。除離子用於特殊用途。 –

+2

您收到的警告不是例外。 – tlenss

回答

3

而不是捕捉異常,而忽略它(因爲你可能會錯過其他重要的例外情況考慮先檢查師(雖然tlenss你得到一個警告已註明)。即

$divisor = 0; 
$num = 100; 
if($divisor){ 
    $result=100/0; 
}else{ 
    $result = 0; 
} 
1

你可以使用ErrorException扔PHP警告/錯誤爲例外:

function exception_error_handler($errno, $errstr, $errfile, $errline) { 
    if ('Division by zero' == $errstr) { 
     throw new ErrorException($errstr, 0, $errno, $errfile, $errline); 
    } 
} 
set_error_handler("exception_error_handler"); 

try 
{ 
    $result=100/0; 
} 
catch(Exception $e) 
{ 
    $result=0; 
} 

echo $result;