zoukankan      html  css  js  c++  java
  • PHP的异常以及异常存在的意义

      php的try catch与其它语言的try catch相比有许多不同,而且用起来相对比较不爽。

      php中,如果你制作的站点相对较大,同时模块化,并且在错误处理机制上有一套自己的处理机制,可以尝试使用try catch,否则,可以考虑不使用它。

      PHP的try catch是捕获异常,但它却无法捕获PHP的内部异常,必须是经过throw语句抛出的异常,它才能正常捕获,这也意味着,如果你的try代码块中,没有任何throw语句,或者包含了throw语句的函数,那么,try catch语句就是废品,嘛用没有。

      但是,在大型网站的构建中,用于建设一套自己的自定义错误处理机制,try catch就显现出了它的强大,比如,我在构建一个几乎整站都会用到的一个公用函数,在这个函数里,我做了大量可能出现的错误判断,并将错误throw,那么在我后面引用这个函数的时候,就可以对其try,并在其catch中对该错误进行判断并做针对性处理。

    下面的这做代码:
    function glo(num){
        if(is_int(num)){
            echo '输入正确';
        }else{
            throw new Exception('传值类型错误!');
        }
    }        
    那么以后我一旦调用这个函数,但是传入的值类型不正确的时候,就会出现异常:

    glo("str");

    这时候如果使用try catch,就可以捕获这个异常
    try{
        glo("str");
    }catch($e){
        echo $e->getMessage();
    }
    当然,以上的代码仅为示例,看起来好像用了try catch还不如不用来得方便,但是到了大型系统中,这样的机制如果用得有效,则会起到不错的效果。 
  • 相关阅读:
    三、ADO.Net基础【04】简单查询
    Canvas 图片绕边旋转的小动画
    Canvas 剪切图片
    Canvas 图片平铺设置
    Canvas 给图形绘制阴影
    Canvas 图形组合方式
    [转]JS获取URL传参方法
    HTML5 FileReader接口学习笔记
    css3实现圆角边框渐变
    HTML5新增属性学习笔记
  • 原文地址:https://www.cnblogs.com/thinksasa/p/3845043.html
Copyright © 2011-2022 走看看