zoukankan      html  css  js  c++  java
  • php类知识---try catch

    <?php
    try
    {
        echo "比赛开始"."
    ";
        throw new Exception('哇呀呀~运动员摔倒了'."
    ",40);
    }
    catch (Exception $e )
    {
        echo "获取错误信息:".$e->getMessage()."
    ";
        echo "获取错误编码:".$e->getCode()."
    ";
    }
    echo "哎呀比赛结束了"."
    ";
    ?>

    输出结果:

    比赛开始
    获取错误信息:哇呀呀~运动员摔倒了

    • 自定义异常类
    <?php
    //自定义异常
    class MyException extends Exception   #自定义异常类继承自异常基类
    {
        public function demo()
        {
            echo "快把运动员扶起来";
        }
    }
    try{
        echo "比赛开始"."
    ";
        throw new MyException("哎呀运动员摔倒了",40);
    }
    catch(MyException $e)
    {
        echo $e->getCode()."
    ";
        echo $e->getMessage()."
    ";
        echo $e->demo()."
    ";  
    }
    echo "比赛结束"."
    ";
    ?>

    输出结果:

    比赛开始
    40
    哎呀运动员摔倒了
    快把运动员扶起来
    比赛结束

    • 使用自定义myexception的重要原则
    <?php
    

    class myexception extends Exception { public function demo() { echo "快把运动员扶起来"." "; } } try{ echo "比赛开始"." "; throw new myexception('运动员被绊了一跤',20); #尽管抛出的是myexception,但是却被原生exception捕捉到了,所以自定义exception应该放在第一个! } catch (Exception $e) { echo $e->getMessage()." "; echo $e->getCode()." "; echo "上述是原生exception"." "; } catch ( myexception $e) { echo $e->getMessage()." "; echo $e->getCode()." "; echo $e->demo()." "; echo "上述是自定义myexception"." "; } ?>

    输出结果:

    比赛开始
    运动员被绊了一跤
    20
    上述是原生exception

    正确姿势:
    
    <?php
    

    class myexception extends Exception { public function demo() { echo "快把运动员扶起来"." "; } } try{ echo "比赛开始"." "; throw new myexception('运动员被绊了一跤',20); } catch ( myexception $e) { echo $e->getMessage()." "; echo $e->getCode()." "; echo $e->demo()." "; echo "上述是自定义myexception"." "; } catch (Exception $e) { echo $e->getMessage()." "; echo $e->getCode()." "; echo "上述是原生exception"." "; } ?>

    输出结果:

    比赛开始
    运动员被绊了一跤
    20
    快把运动员扶起来

    上述是自定义myexception

    • 特别函数set_exception_handler
    <?php
    function heichouxianwaA($mywords)
    {
        echo $mywords->getMessage();
    }
    set_exception_handler('heichouxianwaA');
    throw new Exception("我满心欢喜打开我的未来");
    ?>
  • 相关阅读:
    Unity3d与Android交互
    A star 寻路
    网络协议
    数据驱动
    有限状态机(FSM)
    自己封装一个Log模块
    Unity5.x版本AssetBundle加载研究
    Unity5.x版本AssetBundle打包研究
    alidoing --使用JS实现多语言框架、喜欢的请进、、瓦特平台!
    使用代码生成器“代码工厂”快速生成B/S程序代码
  • 原文地址:https://www.cnblogs.com/saintdingspage/p/10965359.html
Copyright © 2011-2022 走看看