php中的error_get_last()函數詳解以及用法
- 2020 年 1 月 19 日
- 筆記
在我們調試PHP程式碼的時候,尤其是網站前台向後台AJAX數據的時候,如果後台的PHP邏輯流程發生錯誤或程式碼壞死,那麼我們前台會一直在載入的狀態,那麼今天就說一下PHP中的一個獲取程式碼最後錯誤的函數error_get_last()。
PHP中error_get_last()函數定義
PHP函數error_get_last()定義
error_get_last() 函數獲得最後發生的錯誤。
error_get_last()返回值
該函數以數組的形式返回錯誤的資訊,如果沒有錯誤發生就會近回null
返回的錯誤數組包含 4 個鍵名和鍵值:
[type] – 錯誤類型
[message] – 錯誤消息
[file] – 發生錯誤所在的文件
[line] – 發生錯誤所在的行
舉例程式碼演示error_get_last()函數
定義一個錯誤,查看error_get_last()的返回值
程式碼
<?php $s = 444; $c = 666; echo $c; echo $a; //這裡是錯誤的 echo '<br/>'; print_r(error_get_last());
返回結果
666
Array ( [type] => 8 [message] => Undefined variable: a [file] => /www/wwwroot/vip/998.php [line] => 5 )
程式碼強行中斷測試error_get_last()函數
此測試沒有任何實際意義,只為驗證自己的某些想法
程式碼
<?php $s = 444; $c = 666; echo $c; echo $a; //這裡是錯誤的 echo '<br/>'; //die(); //這裡被強行停止 exit(); //這裡被強行停止 print_r(error_get_last());
輸出結果
666
由上面的例子可以看出,如果程式碼流程在錯誤發生之後被exti()或die()強行停止後,無法再調用error_get_last()函數來捕捉PHP程式碼中的最後發生的錯誤資訊(廢話),所以這裡我要使用另外的一個register_shutdown_function()函數來配和error_get_last()函數來實現錯誤資訊的回饋。