慕課網 PHP高階篇(異常處理)

2021-08-11 04:01:57 字數 1780 閱讀 8712

異常處理是物件導向乙個重要的特性,php**中的異常通過throw丟擲,異常丟擲後,後面的**將不會再被執行。異常丟擲被用於在遇到未知錯誤,或者不符合先設定的條件時,通知客戶程式,以便進行其他相關處理,不至於使程式直接報錯中斷。當**中使用了try  catch的時候,丟擲的異常會在catch中捕獲,否則會直接中斷。其基本語法如下:

trycatch(exception  $e)
處理異常程式應當包括:

try - 使用異常的函式應該位於"try"**塊內。如果沒有觸發異常,則**將會照常繼續執行。但是如果異常被觸發,會丟擲乙個異常。

throw - 這裡規定如何觸發異常。注:每乙個「throw」必須對應至少乙個「catch」,當然可以對應多個「catch」。

catch -  「catch」**塊會捕獲異常,並建立乙個包含異常資訊的物件。

//建立可丟擲乙個異常的函式

function checknum($number)

return true;

}//在"try"**塊中觸發異常

trycatch(exception $e)

} catch(exception $e)

異常處理類:exception是所有異常處理的基類,具有以下幾個屬性和方法,其中包括了:

message  異常訊息內容

code 異常**

file 丟擲異常的檔名

line 丟擲異常在該檔案的行數

其中常用的方法有:

gettrace  獲取異常追蹤資訊

gettraceasstring  獲取異常追蹤資訊的字串

getmessage 獲取出錯資訊

如果必要的話,可以通過繼承exception類來建立自定義的異常處理類。

//自定義的異常類,繼承了php的異常基類exception

class myexception extends exception

}trycatch(exception $e)

//異常處理類,以及如何建立自定義異常處理類

<?php

class myexception extends exception

}try catch(exception $e)

在了解異常處理的原理後,我們可以通過try  catch來捕獲異常,我們將執行的**放在try**塊中,一旦其中的**丟擲異常,就能在catch中捕獲。在實際運用中,不會輕易的丟擲異常,只有在極端情況或者非常重要的情況下,才會丟擲異常,丟擲異常,可以保障程式的正確性與安全,避免導致不可預知的bug。

一般的異常處理流程**為:

trycatch(exception $ex)

echo '異常處理後,繼續執行其他**';

//異常處理的捕獲方法

<?php

try catch(exception $ex)

echo '異常處理後,繼續執行其他**';

在異常捕獲後,我們可以通過異常處理物件捕獲其中的異常資訊,在實際應用中,我們通常會獲取足夠多的異常資訊,然後寫入到錯誤日誌中。通過我們需要將報錯的檔名、行號、錯誤資訊、異常追蹤資訊等記錄到日誌中,以便除錯與修復問題。

//將異常資訊寫入到錯誤日誌中
<?php

try catch(exception $ex)

慕課網 PHP高階篇 學習筆記(2)

第3章 正規表示式 1 什麼叫正規表示式 正規表示式是對字串進行操作的一種邏輯公式,就是用一些特定的字元組合成乙個規則字串,稱之為正則匹配模式。if preg match p,str 自定義量詞結束標記 下面的 s匹配任意的空白符,包括空格,製表符,換行符。s 代表非空白符。s 表示一次或多次匹配非...

2017 2 14 慕課網學習PHP

php條件結構之switch case 中的break break的作用是阻止 進入下乙個case 中繼續執行。php中迴圈結構之while迴圈語句 在php中,while迴圈語句如下 while 條件 過程 首先判斷某個條件是否符合 條件返回值是否為true 若符合則執行任務,執行完畢任務,再判斷...

慕課網 PHP高階篇(資料庫操作)

php可實現當下主流資料庫 mssql,mysql,sybase,db2等。php中有多個擴充套件,常用的擴充套件又原生的mysql庫,也可以使用增強版的mysqli擴充套件,還可以使用pdo進行連線和操作。mysql擴充套件進行資料庫連線的方法 link mysql content mysql h...