问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PHP自定义异常处理器的几种使用方法

发布网友 发布时间:2022-04-21 23:54

我来回答

2个回答

懂视网 时间:2022-04-28 12:55

异常处理

  • set_exception_handler — 设置用户自定义的异常处理函数

  • 使用 try / catch 捕获

  • 相关介绍:

    set_exception_handler() 函数设置用户自定义的异常处理函数。

    该函数用于创建运行期间的用户自己的异常处理方法。

    该函数返回旧的异常处理程序,如果失败则返回 NULL。

    语法

    set_exception_handler(exception_function)

    参数

    exception_function 必需。规定未捕获的异常发生时调用的函数。

    该函数必须在调用 set_exception_handler() 函数之前定义。这个异常处理函数需要需要一个参数,即抛出的 exception 对象。

    更多相关知识,请访问PHP中文网!

    热心网友 时间:2022-04-28 10:03

    我们介绍的这个PHP自定义异常处理器为PHP内置的exception_uncaught_handler()函数。该函数可用于设置用户自定义的异常处理函数,处理trycatch块未捕获的异常。
    以下4段代码为我在waylife项目中的简单应用(非生产环境),不健壮也不美化,但该SNS项目早已经夭折。
    1、异常类的层级关系:
    classNotFoundExceptionextendsException{}
    classInputExceptionextendsException{}
    classDBExceptionextendsException{}
    2、配置未捕捉异常的处理器:
    functionexception_uncaught_handler(Exception$e){
    header('Content-type:text/html;charset=utf-8');if($einstanceofNotFoundException)exit($e-
    getMessage());
    elseif($einstanceofDBException)exit($e-
    getMessage());elseexit($e-
    getMessage());}set_exception_handler('exception_uncaught_handler');
    3、在数据库连接代码源码天空
    ,手动抛出DBException异常但未使用trycatch进行捕获处理,该异常将被PHP自定义异常处理器exception_uncaught_handler()函数处理:$this-resConn=mysql_connect
    ($CONFIGS['db_host'],$CONFIGS['db_user'],$CONFIGS['db_pwd']);if(false==is_resource($this-resConn))thrownewDBException('数据库连接失败。'.mysql_error($this-resConn));4、业务逻辑一瞥:
    if(0!=strcmp($curAlbum-
    interest_id,$it))
    thrownewNotFoundException('很抱歉,你所访问的相册不存在');
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 PHP类中自定义方法为什么返回不到数组啊 有代码 php中怎样自己定义GET和POST方法 这次发行纪念币,说的是一个身份证只能换三个,但... 30分求PHP设置自定义配置文件(类似webconfig.php... 中华人民共和国成立35周年纪念币 据统计牛年的纪念币比鼠年的纪念币少1亿枚,你有抢... 抗战70周年纪念币不是只能一人兑换三个吗?我看到... 央行将发行中国共产党成立100周年纪念币一套,这种... 第三套人民币纯银纪念钞有收藏价值吗? 东力翻译的漫画海贼王里香克斯的船叫什么? 预约的纪念币一个人持多个身份证份证代领可以吗? 路飞的船员有哪些 详细介绍 虎年纪念币预约火爆,此纪念币长什么样子? 海贼王中路飞的海贼船都叫什么名字 求海贼王里面目前所有的海贼船名称?例如路飞的“黄... 购买第三套人民币纪念币要登记么 海贼王草帽路飞的新船为什么改名字了?不是叫万里... 牛年纪念币即将发行,这种纪念币究竟该如何获取? 海贼王路飞后来用的是什么船啊? 纪念币代领规则要求5人连本人指的是几人? PHP中构造函数与自定义函数区别 PHP自定义函数获取汉字首字母的方法 新手提问thinkphp3.2.3访问IndexController.class.... php怎么自定义mkdir创建目录 php中如何在自定义的类中调用pdo中的方法 php怎么查看类方法的自定义文字注释说明 如何在PHP中定义一个类 php问题:利于自定义函数的方法,编写一个简单的计... 如何用php编写输出一个10*10的正方形 代码是什么?... php 如何定义一个数组 PHP在一个类的方法中还可以定义方法吗 php中数组的定义有几种方法及区别 php计算长方性面积的封装类 箭头符号怎么打出来 这个箭头符号怎么打出来? 在键盘上怎么打出上下左右箭头啊 用键盘能否打出向上和向下的箭头 键盘的箭头 上 ,下 ,左 ,右。怎么打啊。 哪位电脑高手能指点一下那符号向上向下的箭头怎么... ipad air的otg连接u盘教程