php 錯(cuò)誤處理之自定義錯(cuò)誤處理函數(shù)
這一塊知識(shí)起點(diǎn)有些高。大多數(shù)人沒有軟件工程、自定義錯(cuò)誤處理的經(jīng)驗(yàn),很難想象出使用的場(chǎng)景。若你想跳過此塊的學(xué)習(xí),完全可以,并且我們支持。
此塊知識(shí)點(diǎn)對(duì)于實(shí)際應(yīng)用中應(yīng)用場(chǎng)景不多。如果,有計(jì)劃開始要自己寫框架時(shí)、或者您做完了本書的第一個(gè)項(xiàng)目。
您可以回頭再來(lái)看11.4這一章的內(nèi)容。
用戶自定義錯(cuò)誤經(jīng)常用到的兩個(gè)函數(shù):
set_error_handler ( callable $回調(diào)的錯(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"); } ?>