在php7.*版本中,一些error和exception可以通過try catch語句捕獲到
可捕獲的異常/錯誤大致有以下三種:
error:php核心丟擲錯誤的專用型別, 如類不存在, 函式不存在, 函式引數錯誤, 都會丟擲此型別的錯誤,
php**中不應該使用error類來作為異常丟擲
exception:應用開發者應該使用的異常基類
errorexception:此異常基類專門負責將php的warning/notice等資訊通過set_error_handler轉換成異常,
php未來的規劃必然是將所有的warning/notice轉為異常, 以便於php程式能夠更好更可控地處理各種錯誤
針對異常和錯誤,要用不同的方法來處理,盡量避免fatal error,一旦有這種嚴重錯誤,應該發報警郵件提醒。
<?php
echo
'arrive here 111'
;error_reporting
(e_all);
//在register_shutdown_function中可以捕獲到fatal error錯誤, 該語句應該放在檔案前面
register_shutdown_function
('shutdown_fun');
function
testerror()
print_r
(count
($rows))
;}trycatch
(error$e)
catch
(exception $e
)//上述try catch替代語法
/*try catch (throwable $e) */
trycatch
(error$e)
catch
(exception $e
)//記錄報錯詳情語句
function
shutdown_fun()
}}
最終的輸出結果:PHP錯誤和異常詳解(PHP7錯誤處理)
世界上沒有絕對完美的事,對於程式設計師來說更是如此,無論我們多麼努力 多麼細心的開發乙個專案,總會有缺陷和錯誤的存在。錯誤和異常的異同 錯誤 和 異常 的概念十分相似,很容易混淆,錯誤 和 異常 都表明了專案出了問題,都會提供相關的資訊,並且都有錯誤型別。然而,異常機制 是在 錯誤機制 後才出現的,...
PHP7中異常與錯誤處理和自定義異常
異常是指程式執行中不符合預期情況以及與正常流程不同的狀況。比如你鏈結資料庫,在引數都寫上去的條件下,發現鏈結不上去,這就屬於不符合預期 可以被 try catch 捕捉得到 是屬於php程式自身的問題,一般是由非法的語法,環境問題導致的,使得編譯器無法通過檢查,甚至無法執行的情況。平時遇到的 war...
的異常處理 php7異常與錯誤處理和自定義異常
7.2版本異常與錯誤的概述 什麼叫做異常?異常是指程式執行中不符合預期情況以及與正常流程不同的狀況。比如你鏈結資料庫,在引數都寫上去的條件下,發現鏈結不上去,這就屬於不符合預期。可以被 try catch 捕捉得到 什麼叫做錯誤?是屬於php程式自身的問題,一般是由非法的語法,環境問題導致的,使得編...