PHP set_error_handler() 函數

來源:互聯網
上載者:User

標籤:註冊   未在   class   errno   4.0   error   tom   ict   使用者   

執行個體

通過 set_error_handler() 函數設定使用者自訂的錯誤處理程式,然後觸發錯誤(通過 trigger_error()):

<?php // 使用者定義的錯誤處理函數 function myErrorHandler($errno, $errstr, $errfile, $errline) {     echo "<b>Custom error:</b> [$errno] $errstr<br>";     echo " Error on line $errline in $errfile<br>"; } // 設定使用者定義的錯誤處理函數 set_error_handler("myErrorHandler"); $test=2; // 觸發錯誤 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:\webfolder\test.php
定義和用法

set_error_handler() 函數設定使用者定義的錯誤處理函數。

注釋:如果使用該函數,會繞過標準 PHP 錯誤處理程式,同時如果必要,使用者定義錯誤程式通過 die() 終止指令碼。

注釋:如果錯誤發生在指令碼執行之前(比如檔案上傳時),將不會調用自訂的錯誤處理程式因為它尚未在那時註冊。

文法
set_error_handler(errorhandler,E_ALL|E_STRICT);
參數 描述
errorhandler 必需。規定使用者錯誤處理函數的名稱。
E_ALL|E_STRICT 可選。規定顯示何種錯誤報表層級的使用者定義錯誤。預設是 "E_ALL"。
技術細節
傳回值: 包含之前定義的錯誤處理程式的字串。
PHP 版本: 4.0.1+
PHP 更新日誌:

PHP 5.5:參數 errorhandler 現在接受 NULL

PHP 5.2: 錯誤處理程式必須返回 FALSE 來顯示 $php_errormsg。

PHP set_error_handler() 函數

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.