PHP程式中的錯誤與異常

2021-07-07 07:20:01 字數 1156 閱讀 3768

1,設定錯誤的顯示

如果編寫的php程式有問題,那麼在執行的時候會顯示注意、警告、錯誤等提示,如果要想忽略這些提示,可以使用error_reporting()函式

例如:error_reporting(e_all & ~e_notice); 就是除了注意意外的錯誤都提示。

2,自定義php的錯誤報告處理方式

如果出現錯誤不進行處理,就會導致在錯誤出現的地方有錯誤提示,這樣就會影響布局。所以這時我們需要將出現的錯誤統一處理(例如放在頁面後面)

使用:可以使用set_error_handler("myerrorfun");並在myerrorfun()函式中處理異常,該函式接受4個變數,錯誤型別、錯誤訊息、錯誤檔案、錯誤的位置

3,記錄錯誤日誌

為了方便除錯,我們需要將錯誤提示寫到日記裡去。php的錯誤預設寫到web伺服器(nginx或apache[apache_error.log])下

但是這樣檢視不方便,就在php配置檔案php.ini檔案內新增error_log = "***x.log"(檔案目錄),就將錯誤日誌放在對應檔案內

4,php的異常處理

(1)什麼是php的異常處理:異常是程式執行過程的出現的意外。使用異常處理就是在出現異常的時候能夠順利的解決。異常處理的結構:

trycatch( exception $e)

注:try catch是一體的,兩者之間不能有任何**。工作原理是試著執行try中的程式,如果出現了問題,就在try中丟擲異常再執行catch中的程式這是$e就表示"車子爆胎"。

exception是系統定義的類,try中發生異常後的**不再執行,而是直接到catch中,catch中程式完成以後再執行catch以後的**。 

注意這程式執行永遠都是異常的,這時需要使用前面第二點說明的自動異常處理set_error_handler("myerrorfun");,在myerrorfun函式內丟擲異常。

5,自定義異常

系統給的exception類,只能顯示錯誤的訊息,並不能處理。這是就需要自己建立類來處理,但這個類必須繼承exception類

calss myexception extends excrptioncatch( myexception $e)

6,捕獲多個異常

根據第5點,我們可以寫多個catch同時寫多個異常類。

try裡面可以再巢狀try catch。

PHP中的錯誤與異常

留待日後補充 常見的錯誤級別 配置選項 描述error reporting 設定錯誤報告的級別 display errors 是否顯示錯誤 log errors 設定產生的錯誤資訊是否記錄到錯誤日誌中,或者是error log中 log error max len 設定log errors最大位元組...

PHP錯誤與異常處理

和其他程式語言遇到錯誤就丟擲異常不一樣,php在處理物件時它也有異常機制,但是php會盡可能的愉快的去執行而無視發生的事情,除非遇到乙個極端嚴重錯誤才會丟擲異常。本文概述php相關的錯誤異常處理機制。錯誤等級 php 有幾個錯誤嚴重性等級。三個最常見的的資訊型別是錯誤 error 通知 notice...

php 不丟擲異常 php錯誤與異常處理

php與其他計算機程式語言在遇到錯誤就丟擲異常不太一樣,php在處理物件時它也有異常機制,但是php會盡可能的愉快的去執行而無視發生的事情,除非遇到乙個極端嚴重錯誤才會丟擲異常。本文主要給大家分享php相關的錯誤異常處理機制。錯誤等級 php 有幾個錯誤嚴重性等級。三個最常見的的資訊型別是錯誤 er...