1. 程式人生 > >PHP為什麼要用try catch例項分享

PHP為什麼要用try catch例項分享

最近兩天就在想這個問題

最終我歸納為,使用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