上篇文章給大家介紹了《PHP中文章加載路徑包括哪兩種?文件路徑是什么?》,本文繼續(xù)給大家介紹PHP中什么是錯誤處理?錯誤代號?錯誤觸發(fā)?有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對大家有所幫助。
錯誤處理:
指的是系統(tǒng)(或者用戶)在對某些代碼進(jìn)行執(zhí)行的時(shí)候,發(fā)現(xiàn)有錯誤,就會通過
錯誤處理的形式告知程序員。
錯誤分類:
1)語法錯誤:用戶書寫的代碼不符合PHP的語法規(guī)范,語法錯誤會導(dǎo)致代碼在編譯過程中不通過,所以代碼不會執(zhí)行(Parseerror) 。
2)運(yùn)行時(shí)錯誤:代碼編譯通過,但是代碼在執(zhí)行的過程中會出現(xiàn)一些條件不滿足導(dǎo)致的錯誤(runtime error)。
3)邏輯錯誤:程序員在寫代碼的時(shí)候不夠規(guī)范,出現(xiàn)了- -些邏輯性的錯誤,導(dǎo)致代碼正常執(zhí)行,但是得不到想要的結(jié)果,
$a= 10; If(Sa= 1){ //最常見把比較符號寫成賦值符號 //執(zhí)行代碼。
錯誤代號:
所有看到的錯誤代碼在PHP中都被定義成了系統(tǒng)常量(可以直接使用)。
1)系統(tǒng)錯誤:。
E_ PARSE: 編譯錯誤,代碼不會執(zhí)行。
E_ ERROR: fatal error,致命錯誤,會導(dǎo)致代碼不能正確繼續(xù)執(zhí)行(出錯的位置斷掉)。
E_ WARNING: warning, 警告錯誤,不會影響代碼執(zhí)行,但是可能得到意想不到的結(jié)果.
E_ _NOTICE: notice, 通知錯誤,不會影響代碼執(zhí)行。
2)用戶錯誤:
E_ _USER ERROR,
E_ USER_ WARNING,
E_ _USER_ _NOTICE.
用戶在使用自定義錯誤觸發(fā)的時(shí)候,會使用到的錯誤代號(系統(tǒng)不會用到)。
3)其他:
E _ALL, 代表著所有從錯誤(通常在進(jìn)行錯誤控制的時(shí)候使用比較多),建議在開
發(fā)過程中(開發(fā)環(huán)境)使用。
所有以E開頭的錯誤常量(代號)其實(shí)都是由-一個(gè)字節(jié)存儲,然后每- -種錯誤占據(jù) -一個(gè)對應(yīng)
的位,如果想進(jìn)行一些錯誤的控制,可以使用位運(yùn)算進(jìn)行操作。
排除通知級別notice: E_ ALL& ~E_NOTICE.
只要警告和通知: E_ WARNING | E_ NOTICE.
錯誤觸發(fā):
-
程序運(yùn)行時(shí)觸發(fā):系統(tǒng)自動根據(jù)錯誤發(fā)生后,對比對應(yīng)的錯誤信息,輸出給用戶:主要針對代碼的語法錯誤和運(yùn)行時(shí)錯誤。
-
人為觸發(fā):知道某些邏輯可能會出錯,從而使用對應(yīng)的判斷代碼來觸發(fā)響應(yīng)的錯誤提示。
推薦學(xué)習(xí):《PHP視頻教程》