php 錯誤處理及實現

2022-06-10 02:30:08 字數 1675 閱讀 9828

1.php的錯誤,警告,異常處理如何實現,那些函式用於處理對應的錯誤

php 異常提示分為三類 error/warning/notice   

錯誤補充: 

fatal error:致命錯誤(指令碼終止執行)

e_error         // 致命的執行錯誤,錯誤無法恢復,暫停執行指令碼

e_core_error    // php啟動時初始化過程中的致命錯誤

e_compile_error // 編譯時致命性錯,就像由zend指令碼引擎生成了乙個e_error

e_user_error    // 自定義錯誤訊息。像用php函式trigger_error(錯誤型別設定為:e_user_error)

e_recoverable_error //可**捉的致命錯誤。 它表示發生了乙個可能非常危險的錯誤,但是還沒有導致php引擎處於不穩定的狀態。

parse error:編譯時解析錯誤,語法錯誤(指令碼終止執行)

e_parse  //編譯時的語法解析錯誤

警告補充:警告錯誤(僅給出提示資訊,指令碼不終止執行)

e_warning         // 執行時警告 (非致命錯誤)。

e_core_warning    // php初始化啟動過程中發生的警告 (非致命錯誤) 。

e_compile_warning // 編譯警告

e_user_warning    // 使用者產生的警告資訊

異常通知補充:通知錯誤(僅給出通知資訊,指令碼不終止執行)

e_notice      // 執行時通知。表示指令碼遇到可能會表現為錯誤的情況.

e_user_notice // 使用者產生的通知資訊。

php錯誤處理實現: 

register_shutdown_function('funcname')   // 引數是需要捕獲錯誤的函式名稱,但是register_shutdown_function,只能捕獲執行時候的致命錯誤,不能捕獲解釋時的執行錯誤,因為它時程式執行完成之後執行的函式(比如語法錯誤,這種執行時就會產生的錯誤時不會**捉的)

set_error_handler(『funcname』)  //引數是需要捕獲的**的函式名,區別於register_shutdown_function,它是在函式執行期間捕獲到錯誤

當目標檔案執行遇到錯誤的時候,系統會**指定函式:

例子:<?php

register_shutdown_function( "fatal_handler" );

set_error_handler("error_handler");

define('e_fatal',  e_error | e_user_error |  e_core_error | 

e_compile_error | e_recoverable_error| e_parse );  

//獲取fatal error

function fatal_handler()

}//獲取所有的error

function error_handler($errno,$errstr,$errfile,$errline){

$str=<<

//error_get_last() 捕獲到的執行錯誤結果

//error_clear_last() 清除最後一次產生的錯誤資訊

//上面兩者可以捕獲所有錯誤,警告, 異常,但作效能考慮,不建議使用其捕獲警告異常

PHP 錯誤處理及異常處理

1.設定自己的錯誤處理函式 trigger error 捕捉使用者級別的錯誤。set error handler 使用者自定義錯誤處理函式。2.捕獲異常 捕獲異常當然用trycatch 當然 中使用的異常處理類是thinkphp中,throw exception 為thinkphp的丟擲異常函式 另...

PHP 錯誤處理

在 php 中,預設的錯誤處理很簡單。一條訊息會被傳送到瀏覽器,這條訊息帶有檔名 行號以及一條描述錯誤的訊息。在建立指令碼和 web 應用程式時,錯誤處理是乙個重要的部分。如果您的 缺少錯誤檢測編碼,那麼程式看上去很不專業,也為安全風險敞開了大門。本教程介紹了 php 中一些最為重要的錯誤檢測方法。...

PHP 錯誤處理

在 php 中,預設的錯誤處理很簡單。一條訊息會被傳送到瀏覽器,這條訊息帶有檔名 行號以及一條描述錯誤的訊息。在建立指令碼和 web 應用程式時,錯誤處理是乙個重要的部分。如果您的 缺少錯誤檢測編碼,那麼程式看上去很不專業,也為安全風險敞開了大門。本教程介紹了 php 中一些最為重要的錯誤檢測方法。...