摘要:錯(cuò)誤拋出及自定義處理定義中的錯(cuò)誤拋出及自定義處理指的是允許我們自定義拋出錯(cuò)誤并且捕捉錯(cuò)誤并進(jìn)行處理。例如我們編寫一個(gè)的函數(shù),而參數(shù)必須是一個(gè)整數(shù)否則觸發(fā)錯(cuò)誤運(yùn)行結(jié)果如下捕捉錯(cuò)誤異常摘自官方文檔
PHP 錯(cuò)誤拋出及自定義處理
定義
php中的錯(cuò)誤拋出及自定義處理指的是允許我們自定義拋出錯(cuò)誤并且捕捉錯(cuò)誤并進(jìn)行處理。類似于
面向?qū)ο笳Z言中的throw 及 try...catch...
在php中主要由以下三個(gè)函數(shù)來完成拋出以及捕捉處理.
trigger_error() set_exception_handler() set_error_handle()
trigger 簡介
在php中,trigger函數(shù)可以觸發(fā)任一用戶級別的錯(cuò)誤,在非面向?qū)ο缶幊讨?可以做為一種錯(cuò)誤提示的方式。
例如:我們編寫一個(gè)e($n)的函數(shù),而參數(shù)必須是一個(gè)整數(shù),否則觸發(fā)錯(cuò)誤
/** * @param $n */ function e($n) { if (!is_int($n)) { trigger_error("n is not a number", E_USER_NOTICE); } }
運(yùn)行結(jié)果如下:
捕捉錯(cuò)誤OR異常(摘自PHP官方文檔)
function myErrorHandler($errno, $errstr, $errfile, $errline) { if (!(error_reporting() & $errno)) { // This error code is not included in error_reporting return; } switch ($errno) { case E_USER_ERROR: echo "My ERROR [$errno] $errstr
"; echo " Fatal error on line $errline in file $errfile"; echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")
"; echo "Aborting...
"; exit(1); break; case E_USER_WARNING: echo "My WARNING [$errno] $errstr
"; break; case E_USER_NOTICE: echo "My NOTICE [$errno] $errstr
"; break; default: echo "Unknown error type: [$errno] $errstr
"; break; } /* Don"t execute PHP internal error handler */ return true; }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/22175.html
摘要:是我們自定義的錯(cuò)誤碼為啟動(dòng)文件當(dāng)我們運(yùn)行的時(shí)候,程序便啟動(dòng)了起來。在中修改只要為,報(bào)參數(shù)錯(cuò)誤正常返回消息把中的方法改為我們自己定義的方法現(xiàn)在再次運(yùn)行瀏覽器輸入即可得到輸入檢測一下正常輸出完美 flask-restful 是一款比較好用的 flask 插件,它不僅自動(dòng)為我們實(shí)現(xiàn)了數(shù)據(jù)的 json 化,還能對傳入?yún)?shù)進(jìn)行驗(yàn)證,優(yōu)雅的替代了 form 表單。 代碼結(jié)構(gòu): app |_api...
摘要:但異常捕獲后程序可以繼續(xù)執(zhí)行,而真正的錯(cuò)誤出現(xiàn)后程序就必須終止異??梢允褂脕聿东@捕獲,捕獲之后后續(xù)代碼可以繼續(xù)執(zhí)行而錯(cuò)誤是無法使用捕獲的如果拋出了異常,就必須捕獲它否則程序終止執(zhí)行。 PHP錯(cuò)誤級別 Parse error > Fatal Error > Waning > Notice > Deprecated Deprecated 最低級別的錯(cuò)誤(不推薦,不建議)使用一些過期函數(shù)的...
閱讀 2820·2021-11-17 09:33
閱讀 3157·2021-10-25 09:44
閱讀 1266·2021-10-11 10:59
閱讀 2480·2021-09-27 13:34
閱讀 2961·2021-09-07 10:19
閱讀 2205·2019-08-29 18:46
閱讀 1594·2019-08-29 12:55
閱讀 982·2019-08-23 17:11