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

本篇文章为大家展示了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中怎么自定义异常处理器,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。