php 錯(cuò)誤處理之自訂錯(cuò)誤處理函數(shù)
這一塊知識(shí)起點(diǎn)有些高。大多數(shù)人沒(méi)有軟體工程、自訂錯(cuò)誤處理的經(jīng)驗(yàn),很難想像使用的場(chǎng)景。若你想跳過(guò)此區(qū)塊的學(xué)習(xí),完全可以,並且我們支援。
此區(qū)塊知識(shí)點(diǎn)對(duì)於實(shí)際應(yīng)用程式中應(yīng)用場(chǎng)景不多。如果,有計(jì)畫開始要自己寫框架時(shí)、或您做完了本書的第一個(gè)專案。
您可以回頭再來(lái)看11.4這一章的內(nèi)容。
使用者自訂錯(cuò)誤常用到的兩個(gè)函數(shù):
set_error_handler ( callable $回呼的錯(cuò)誤處理函數(shù))
設(shè)定一個(gè)使用者定義的錯(cuò)誤處理函數(shù)
trigger_error ( string $error_msg)
產(chǎn)生一個(gè)使用者層級(jí)的error/warning/notice 資訊
<?php //定義一個(gè)自定義的錯(cuò)誤處理函數(shù) function customError($errno, $errstr, $errfile, $errline) { //輸出錯(cuò)誤消息 echo "<b>Custom error:</b> [$errno] $errstr<br />"; //輸出錯(cuò)誤文件和錯(cuò)誤行 echo "Error on line $errline in $errfile<br />"; echo "Ending Script"; //中止程序運(yùn)行 exit; } //使用set_error_handler 綁定用戶自定義函數(shù) set_error_handler("customError"); $test=2; //觸發(fā)自定義錯(cuò)誤 if ($test > 1) { trigger_error("A custom error has been triggered"); } ?>