PHP為什麼要用try catch例項分享
阿新 • • 發佈:2019-02-20
最近兩天就在想這個問題
最終我歸納為,使用try catch是因為PHP中的異常處理機制,可以把可能出錯的程式碼段放在try中,如果報錯就直接丟擲異常,不會影響try catch 程式碼後的執行
比如 舉個例子
function file_put_contents_test($is_error) { if ($is_error) { throw new Exception("Error test!"); } else { return 'OK'; } } file_put_contents_test(true); echo 'RUN'; //不會執行這一行
之前沒有顯示錯誤,原因是我用的mac mamp pro裡面的php.ini設定原因,把php.ini設定中的display_errors=On就可以了
接著我們再來看看 加了try catch後有什麼效果
try
{
file_put_contents_test(true);
echo '呵呵呵呵';
}
catch(Exception $e)
{
echo '錯誤:'.$e->getMessage();
}
echo 'RUN';//這句會執行 即使丟擲異常 也不會影響後面的流程 也就是try catch 讓異常變得可控制
也可以自己寫異常處理類去繼承Exception