使用錯誤處理器
error handler?注冊成一個名稱為errorHandler應(yīng)用組件, 可以在應(yīng)用配置中配置它類似如下:
return?[ ????'components'?=>?[ ????????'errorHandler'?=>?[ ????????????'maxSourceLines'?=>?20, ????????], ????], ];
自定義錯誤顯示
error handler錯誤處理器根據(jù)常量YII_DEBUG的值來調(diào)整錯誤顯示, 當YII_DEBUG?為 true (表示在調(diào)試模式), 錯誤處理器會顯示異常以及詳細的函數(shù)調(diào)用棧和源代碼行數(shù)來幫助調(diào)試, 當YII_DEBUG?為 false,只有錯誤信息會被顯示以防止應(yīng)用的敏感信息泄漏。
(推薦教程:yii框架)
信息:?如果異常是繼承?yiibaseUserException, 不管YII_DEBUG為何值,函數(shù)調(diào)用棧信息都不會顯示, 這是因為這種錯誤會被認為是用戶產(chǎn)生的錯誤,開發(fā)人員不需要去修正。
error handler?錯誤處理器默認使用兩個視圖顯示錯誤:
1、@yii/views/errorHandler/error.php: 顯示不包含函數(shù)調(diào)用棧信息的錯誤信息是使用, 當YII_DEBUG?為 false時,所有錯誤都使用該視圖。
2、@yii/views/errorHandler/exception.php: 顯示包含函數(shù)調(diào)用棧信息的錯誤信息時使用。
可以配置錯誤處理器的?errorView?和?exceptionView?屬性 使用自定義的錯誤顯示視圖。
使用錯誤動作
使用指定的錯誤操作?來自定義錯誤顯示更方便, 為此,首先配置errorHandler組件的?errorAction?屬性, 類似如下:
return?[ ????'components'?=>?[ ????????'errorHandler'?=>?[ ????????????'errorAction'?=>?'site/error', ????????], ????] ];
更多編程相關(guān)內(nèi)容,請關(guān)注php中文網(wǎng)yii框架欄目!