新聞中心
處理異常在PHP編程中是經(jīng)常要被用到的。我們介紹的這個PHP自定義異常處理器為PHP內(nèi)置的exception_uncaught_handler()函數(shù)。該函數(shù)可用于設(shè)置用戶自定義的異常處理函數(shù),處理try…catch塊未捕獲的異常。#t#

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比和田網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式和田網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋和田地區(qū)。費用合理售后完善,10年實體公司更值得信賴。
以下4段代碼為我在waylife項目中的簡單應(yīng)用(非生產(chǎn)環(huán)境),不健壯也不美化,但該SNS項目早已經(jīng)夭折。
1、異常類的層級關(guān)系:
- class NotFoundException extends Exception{}
- class InputException extends Exception{}
- class DBException extends Exception{}
2、配置未捕捉異常的處理器:
- function exception_uncaught_handler(Exception $e) {
- header('Content-type:text/html; charset=utf-8');
- if ($e instanceof NotFoundException)
- exit($e->getMessage());
- elseif ($e instanceof DBException)
- exit($e->getMessage());
- else
- exit($e->getMessage());
- }
- set_exception_handler('exception_uncaught_handler');
3、在數(shù)據(jù)庫連接代碼,手動拋出DBException異常但未使用try…catch進(jìn)行捕獲處理,該異常將被PHP自定義異常處理器exception_uncaught_handler()函數(shù)處理:
- $this->resConn = mysql_connect ($CONFIGS['db_host'], $CONFIGS['db_user'], $CONFIGS['db_pwd']);
- if (false == is_resource($this->resConn))
- throw new DBException('數(shù)據(jù)庫連接失敗。'.mysql_error($this->resConn));
4、業(yè)務(wù)邏輯一瞥:
- if (0 != strcmp($curAlbum->interest_id, $it))
- throw new NotFoundException('很抱歉,你所訪問的相冊不存在');
以上就是PHP自定義異常處理器的具體使用方法。
本文題目:PHP自定義異常處理器的幾種使用方法
網(wǎng)站鏈接:http://www.dlmjj.cn/article/dphhcsc.html


咨詢
建站咨詢
