自定義php錯誤處理和php異常處理

2022-03-12 20:55:29 字數 1023 閱讀 6306

要想處理php異常,就要先知道php的錯誤級別,看看下面:

值 常量

描述

2 e_warning

非致命的 run-time 錯誤。不暫停指令碼執行。

8 e_notice

run-time 通知。

指令碼發現可能有錯誤發生,但也可能在指令碼正常執行時發生。

256e_user_error

致命的使用者生成的錯誤。這類似於程式設計師使用 php 函式 trigger_error() 設定的 e_error。

512e_user_warning

非致命的使用者生成的警告。這類似於程式設計師使用 php 函式 trigger_error() 設定的 e_warning。

1024

e_user_notice

使用者生成的通知。這類似於程式設計師使用 php 函式 trigger_error() 設定的 e_notice。

4096

e_recoverable_error

可捕獲的致命錯誤。類似 e_error,但可被使用者定義的處理程式捕獲。(參見 set_error_handler())

8191

e_all

所有錯誤和警告,除級別 e_strict 以外。

(在 php 6.0,e_strict 是 e_all 的一部分)

通常,我們在**中使用if...else...,exit(),die()處理錯誤情況,這樣有很大的侷限性,那麼怎麼自定義自己的處理機制呢?

1.自定義錯誤函式

2.自定義錯誤觸發機制

3.php異常處理:

(1)當異常被丟擲時,其後的**不會被執行,而是直接跳到catch,直接執行catch裡面的內容,如果異常沒有**獲,又沒使用set_exception_handler(),將會發生致命錯誤。

看看手冊裡面的乙個例子:

使用set_exception_handler()處理的例子:

建立乙個自定義的exception類的例子:

當然也可以捕獲多個異常:

PHP的錯誤級別與自定義錯誤處理

級別常量 錯誤值錯誤描述 e error 1致命的執行錯誤 阻止指令碼繼續執行 e warning 2執行時警告 e parse 4從語法中解析錯誤 e notice 8執行時注意訊息 e core error 16php啟動時初始化過程中的致命錯誤 e core warning 32php啟動時初...

的異常處理 php7異常與錯誤處理和自定義異常

7.2版本異常與錯誤的概述 什麼叫做異常?異常是指程式執行中不符合預期情況以及與正常流程不同的狀況。比如你鏈結資料庫,在引數都寫上去的條件下,發現鏈結不上去,這就屬於不符合預期。可以被 try catch 捕捉得到 什麼叫做錯誤?是屬於php程式自身的問題,一般是由非法的語法,環境問題導致的,使得編...

PHP 錯誤處理

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