温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP中怎么自定义异常处理器

发布时间:2021-08-11 15:49:08 来源:亿速云 阅读:247 作者:Leah 栏目:编程语言

本篇文章为大家展示了PHP中怎么自定义异常处理器,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1、异常类的层级关系:

  1. class NotFoundException extends Exception{}  

  2. class InputException extends Exception{}  

  3. class DBException extends Exception{} 


2、配置未捕捉异常的处理器:

  1. function exception_uncaught_handler(Exception $e) {  

  2. header('Content-type:text/html; charset=utf-8');  

  3. if ($e instanceof NotFoundException)  

  4. exit($e->getMessage());  

  5. elseif ($e instanceof DBException)  

  6. exit($e->getMessage());  

  7. else  

  8. exit($e->getMessage());  

  9. }  

  10. set_exception_handler('exception_uncaught_handler');  

3、在数据库连接代码,手动抛出DBException异常但未使用try…catch进行捕获处理,该异常将被PHP自定义异常处理器exception_uncaught_handler()函数处理:

  1. $this->resConn = mysql_connect ($CONFIGS['db_host'], $CONFIGS['db_user'], $CONFIGS['db_pwd']);  

  2. if (false == is_resource($this->resConn))  

  3. throw new DBException('数据库连接失败。'.mysql_error($this->resConn)); 


4、业务逻辑一瞥:

  1. if (0 != strcmp($curAlbum->interest_id, $it))  

  2. throw new NotFoundException('很抱歉,你所访问的相册不存在');  

上述内容就是PHP中怎么自定义异常处理器,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI