通過 set_error_handler() 函數(shù)設(shè)置用戶自定義的錯(cuò)誤處理程序,然后觸發(fā)錯(cuò)誤(通過 trigger_error()):
<?php // 用戶定義的錯(cuò)誤處理函數(shù) function myErrorHandler($errno, $errstr, $errfile, $errline) { echo "<b>Custom error:</b> [$errno] $errstr<br>"; echo " Error on line $errline in $errfile<br>"; } // 設(shè)置用戶定義的錯(cuò)誤處理函數(shù) set_error_handler("myErrorHandler"); $test=2; // 觸發(fā)錯(cuò)誤 if ($test>1) { trigger_error("A custom error has been triggered"); } ?>
以上代碼的輸出類似這樣:
Custom error: [1024] A custom error has been triggered Error on line 14 in C:webfoldertest.php
set_error_handler() 函數(shù)設(shè)置用戶定義的錯(cuò)誤處理函數(shù)。
注釋:如果使用該函數(shù),會(huì)繞過標(biāo)準(zhǔn) PHP 錯(cuò)誤處理程序,同時(shí)如果必要,用戶定義錯(cuò)誤程序通過 die() 終止腳本。
注釋:如果錯(cuò)誤發(fā)生在腳本執(zhí)行之前(比如文件上傳時(shí)),將不會(huì)調(diào)用自定義的錯(cuò)誤處理程序因?yàn)樗形丛谀菚r(shí)注冊(cè)。
set_error_handler(errorhandler,E_ALL|E_STRICT);
參數(shù) | 描述 |
---|---|
errorhandler | 必需。規(guī)定用戶錯(cuò)誤處理函數(shù)的名稱。 |
E_ALL|E_STRICT | 可選。規(guī)定顯示何種錯(cuò)誤報(bào)告級(jí)別的用戶定義錯(cuò)誤。默認(rèn)是 "E_ALL"。 |
返回值: | 包含之前定義的錯(cuò)誤處理程序的字符串。 |
---|---|
PHP 版本: | 4.0.1+ |
PHP 更新日志: |
PHP 5.5:參數(shù) errorhandler 現(xiàn)在接受 NULL PHP 5.2: 錯(cuò)誤處理程序必須返回 FALSE 來顯示 $php_errormsg。 |
如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答!! 點(diǎn)擊進(jìn)入論壇
Powered by 365建站網(wǎng) RSS地圖 HTML地圖
copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)