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

 

没有更多推荐了,返回首页