zoukankan      html  css  js  c++  java
  • 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 ?>

    结果:

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

        

  • 相关阅读:
    shell 脚本语法
    discuz pre_forum_postposition表说明
    PHP调试工具Xdebug安装配置教程
    检查用户头像状态的脚本
    PHP 性能监测
    Mysql 索引优化
    MySQL主从复制配置
    vue mixin 混入
    vue渲染方式:render和template的区别
    vue自定义指令directive Vue.directive() directives
  • 原文地址:https://www.cnblogs.com/seaBiscuit0922/p/5826633.html
Copyright © 2011-2022 走看看