人人做人人干-人人做人人看-人人做人人爽国产视-人人做人人爽人人爱-色屋视频-色屋网

歡迎您光臨深圳塔燈網絡科技有限公司!
電話圖標 余先生:13699882642

易優CMS異常處理

發表日期:2018-12 文章編輯:小燈 瀏覽次數:4830

和PHP默認的異常處理不同,ThinkPHP拋出的不是單純的錯誤信息,而是一個人性化的錯誤頁面。

默認異常處理

在調試模式下,系統默認展示的錯誤頁面:

只有在調試模式下面才能顯示具體的錯誤信息,如果在部署模式下面,你可能看到的是一個簡單的提示文字,例如:

本著嚴謹的原則,5.0版本默認情況下會對任何錯誤(包括警告錯誤)拋出異常,如果不希望如此嚴謹的拋出異常,可以在應用公共函數文件中或者配置文件中使用error_reporting方法設置錯誤報錯級別(請注意,在入口文件中設置是無效的),例如:

// 異常錯誤報錯級別,error_reporting(E_ERROR | E_PARSE );

異常處理接管

框架支持異常頁面由開發者自定義類進行處理,需要配置參數exception_handle

// 異常處理handle類 留空使用 \think\exception\Handle'exception_handle' => '\\app\\common\\exception\\Http',

自定義類需要繼承Handle并且實現render方法,可以參考如下代碼:

<?phpnamespace app\common\exception;use Exception;use think\exception\Handle;use think\exception\HttpException;class Http extends Handle{public function render(Exception $e){// 參數驗證錯誤if ($e instanceof ValidateException) {return json($e->getError(), 422);}// 請求異常if ($e instanceof HttpException && request()->isAjax()) {return response($e->getMessage(), $e->getStatusCode());}//TODO::開發者對異常的操作//可以在此交由系統處理return parent::render($e);}}

需要注意的是,如果配置了'exception_handle',且沒有再次調用系統render的情況下,配置http_exception_template就不再生效,具體可以參考Handle類內實現的功能。

V5.0.11版本開始,可以通過閉包定義的方式簡化異常自定義處理,例如,上面的自定義異常類可以改為直接配置exception_handle參數:

'exception_handle'=>function(Exception $e){// 參數驗證錯誤if ($e instanceof \think\exception\ValidateException) {return json($e->getError(), 422);}// 請求異常if ($e instanceof \think\exception\HttpException && request()->isAjax()) {return response($e->getMessage(), $e->getStatusCode());}}

部署模式異常

一旦關閉調試模式,發生錯誤后不會提示具體的錯誤信息,如果你仍然希望看到具體的錯誤信息,那么可以如下設置:

// 顯示錯誤信息'show_error_msg'=>true,

異常捕獲

可以使用PHP的異常捕獲進行必要的處理,但需要注意一點,在異常捕獲中不要使用think\Controller類的error、success和redirect方法,因為上述三個方法會拋出HttpResponseException異常,從而影響正常的異常捕獲,例如:

try{Db::name('user')->find();$this->success('執行成功!');}catch(\Exception $e){$this->error('執行錯誤');}

應該改成

try{Db::name('user')->find();}catch(\Exception $e){$this->error('執行錯誤');}$this->success('執行成功!');

本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶參考了本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.kwpm.com.cn/11157.html
相關cms文章
 八年  行業經驗

多一份參考,總有益處

聯系深圳網站公司塔燈網絡,免費獲得網站建設方案及報價

咨詢相關問題或預約面談,可以通過以下方式與我們聯系

業務熱線:余經理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

主站蜘蛛池模板: 成 人 色综合| 亚洲一区二区免费 | 我要看黄色一级毛片 | 韩国日本一区二区 | 在线视频不卡国产在线视频不卡 | 欧美性另类69xxxx极品 | 欧美xxxxx色视频在线观看 | 日韩中文字幕免费观看 | 中文字幕成人免费视频 | 欧美日韩高清在线观看一区二区 | 影院亚洲 | 超级在线碰 | 亚洲综合在线播放 | 毛片中文字幕 | 成年人三级视频 | 精品国产自在现线看久久 | 甜性涩爱在线观看e8 | 亚洲天堂777| 免费国产在线观看 | 欧美国产日韩另类 | 中文字幕在线成人免费看 | 欧美亚洲国产视频 | 高清中国一级毛片免费 | 我就色色综合网 | 人人射视频| 亚洲黄色网址在线观看 | 欧美日韩精品福利在线观看 | 羞视频在线观看 | 中国美女大战黑人国产 | 片成年免费观看网站黄 | 精品一区二区三区高清免费观看 | 国产精品福利影院 | 国产第一福利精品导航 | 成人精品福利 | 久久精品国产91久久麻豆自制 | 亚洲欧美日韩精品久久亚洲区 | 午夜视频1000| 波多野结衣中文字幕2022免费 | 一级做a爱过程视频免 | 国产日韩欧美综合色视频在线 | 粉嫩在线视频 |