首页 > 代码库 > PHP异常处理

PHP异常处理

一、异常处理——可以有效地控制多条出现错误或异常的代码

  • 基本语法如下: 
try{    //可能出现异常的代码  }  catch(Exception $e){    //对异常处理    //1、自己处理    //2、不作处理,继续抛出  }

     Exception 是PHP内置的异常处理类

    技术分享

  • 示例
<?php        function addUser($name){        if($name=="abc"){            echo "添加成功!";        }else{            //抛出异常            throw new Exception("添加失败!");        }    }    function updateUser($name){        if($name=="abc"){            echo "修改成功!";        }else{            //抛出异常            throw new Exception("修改失败!");        }    }    try{        addUser("abc");        updateUser("Ben");    }    //捕获异常    catch(Exception $e){        echo "失败信息:".$e->getMessage();
     //throw $e; //捕获后也可以继续抛出 }
?>

运行结果如下:

技术分享

二、顶层异常处理——捕获没有被catch的异常

  • 基本用法如下:
<?php     function myException($exception){             echo "异常信息:".$exception->getMessage();     }     set_exception_handler("myException");     throw new Exception("没有捕获的异常");?>
  • 示例
 1 <?php 2     //自定义一个顶级异常处理函数 3     function myException($exception){ 4         echo "异常信息:".$exception->getMessage(); 5     } 6     //修改默认的顶级异常处理函数(器) 7     set_exception_handler("myException"); 8  9     function a($age){10         if($age>100)11             throw new Exception("年龄过大!");12     }13 14     a(120);   15 ?>

结果:

技术分享

三、总结:如果抛出了异常,就必须捕获它,或者使用顶级异常处理器处理。

    

PHP异常处理