php異常處理01468_第1頁
php異常處理01468_第2頁
php異常處理01468_第3頁
php異常處理01468_第4頁
php異常處理01468_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、精品文檔你我共享 PHP異常處理 異常(Exception)用于在指定的錯誤發(fā)生時改變腳本的正常流程。 什么是異常? PHP 5提供了一種新的面向?qū)ο蟮腻e誤處理方法。 異常處理用于在指定的錯誤(異常)情況發(fā)生時改變腳本的正常流程。這種情況稱為異常。 當異常被觸發(fā)時,通常會發(fā)生: 當前代碼狀態(tài)被保存 代碼執(zhí)行被切換到預定義的異常處理器函數(shù) 根據(jù)情況,處理器也許會從保存的代碼狀態(tài)重新開始執(zhí)行代碼,終止腳本執(zhí)行,或從代碼中另外 的位置繼續(xù)執(zhí)行腳本 我們將展示不同的錯誤處理方法: 異常的基本使用 創(chuàng)建自定義的異常處理器 多個異常 重新拋出異常 設(shè)置頂層異常處理器 異常的基本使用 AAAAAA 當異常被

2、拋出時,其后的代碼不會繼續(xù)執(zhí)行, PHP會嘗試查找匹配的 catch 代碼塊。 作相應的處理的話,那么將發(fā)生一個 (未捕獲異常)的錯誤消息。 如果異常沒有被捕獲,而且又沒用使用set_exce ption_handler() 嚴重的錯誤(致命錯誤),并且輸出Uncaught Exce ption 讓我們嘗試拋出一個異常,同時不去捕獲它: v?php /create function with an exce ption function checkNum($number) if($number1) PHP 異常處理 異常( Exception )用于在指定的錯誤發(fā)生時改變腳本的正常流程。 什么

3、是異常? PHP 5 提供了一種新的面向?qū)ο蟮腻e誤處理方法。 異常處理用于在指定的錯誤(異常)情況發(fā)生時改變腳本的正常流程。這種情況稱為異常。 當異常被觸發(fā)時,通常會發(fā)生: 當前代碼狀態(tài)被保存 代碼執(zhí)行被切換到預定義的異常處理器函數(shù) 根據(jù)情況,處理器也許會從保存的代碼狀態(tài)重新開始執(zhí)行代碼,終止腳本執(zhí)行,或從代碼中另外 的位置繼續(xù)執(zhí)行腳本 我們將展示不同的錯誤處理方法: 異常的基本使用 創(chuàng)建自定義的異常處理器 多個異常 重新拋出異常 設(shè)置頂層異常處理器 異常的基本使用 當異常被拋出時,其后的代碼不會繼續(xù)執(zhí)行, PHP 會嘗試查找匹配的 catch 代碼塊。 作相應的處理的話,那么將發(fā)生一個 未捕

4、獲異常)的錯誤消息。 如果異常沒有被捕獲,而且又沒用使用 set_exception_handler() 嚴重的錯誤(致命錯誤),并且輸出 Uncaught Exception 讓我們嘗試拋出一個異常,同時不去捕獲它: 1) PHP 異常處理 異常( Exception )用于在指定的錯誤發(fā)生時改變腳本的正常流程。 什么是異常? PHP 5 提供了一種新的面向?qū)ο蟮腻e誤處理方法。 異常處理用于在指定的錯誤(異常)情況發(fā)生時改變腳本的正常流程。這種情況稱為異常。 當異常被觸發(fā)時,通常會發(fā)生: 當前代碼狀態(tài)被保存 代碼執(zhí)行被切換到預定義的異常處理器函數(shù) 根據(jù)情況,處理器也許會從保存的代碼狀態(tài)重新開

5、始執(zhí)行代碼,終止腳本執(zhí)行,或從代碼中另外 的位置繼續(xù)執(zhí)行腳本 我們將展示不同的錯誤處理方法: 異常的基本使用 創(chuàng)建自定義的異常處理器 多個異常 重新拋出異常 設(shè)置頂層異常處理器 異常的基本使用 當異常被拋出時,其后的代碼不會繼續(xù)執(zhí)行, PHP 會嘗試查找匹配的 catch 代碼塊。 作相應的處理的話,那么將發(fā)生一個 未捕獲異常)的錯誤消息。 如果異常沒有被捕獲,而且又沒用使用 set_exception_handler() 嚴重的錯誤(致命錯誤),并且輸出 Uncaught Exception 讓我們嘗試拋出一個異常,同時不去捕獲它: 1) 精品文檔你我共享 不過,為了遵循每個throw 必須

6、對應一個catch ”的原則,可以設(shè)置一個頂層的異常處理器來處理漏掉 的錯誤。 創(chuàng)建一個自定義的Excep tion類 PHP中發(fā)生異常時,可調(diào)用 創(chuàng)建自定義的異常處理程序非常簡單。我們簡單地創(chuàng)建了一個專門的類,當 其函數(shù)。該類必須是exce ption類的一個擴展。 這個自定義的exception類繼承了 PHP的exception類的所有屬性,您可向其添加自定義的函數(shù)。 我們開始創(chuàng)建exce ption類: I v?php D class customExce ption extends Exce ption P ublic function errorMessage() /error m

7、essage $errorMsg = Error on line .$this-getLine(). in .$this-getFile() .:.$this-getMessage(). is not a valid E-Mail address; return $errorMsg; $email = someoneexa mpl ; try /check if if(filter_var($email, FILTER_VALIDATE_EMAIL) = FALSE) /throw exce ption if email is not valid throw new customExce pt

8、ion($email); AAAAAA” 精品文檔你我共享 不過,為了遵循 “每個 throw 必須對應一個 catch ”的原則,可以設(shè)置一個頂層的異常處理器來處理漏掉 的錯誤。 創(chuàng)建一個自定義的 Exception 類 PHP 中發(fā)生異常時,可調(diào)用 創(chuàng)建自定義的異常處理程序非常簡單。我們簡單地創(chuàng)建了一個專門的類,當 其函數(shù)。該類必須是 exception 類的一個擴展。 這個自定義的 exception 類繼承了 PHP 的 exception 類的所有屬性,您可向其添加自定義的函數(shù)。 我們開始創(chuàng)建 exception 類: getLine(). in .$this-getFile() .

9、: .$this-getMessage(). is not a valid E-Mail address; return $errorMsg; $email = ; try /check if if(filter_var($email, FILTER_VALIDATE_EMAIL) = FALSE)的錯誤。 創(chuàng)建一個自定義的 Exception 類 PHP 中發(fā)生異常時,可調(diào)用 創(chuàng)建自定義的異常處理程序非常簡單。我們簡單地創(chuàng)建了一個專門的類,當 其函數(shù)。該類必須是 exception 類的一個擴展。 這個自定義的 exception 類繼承了 PHP 的 exception 類的所有屬性,您可

10、向其添加自定義的函數(shù)。 我們開始創(chuàng)建 exception 類: getLine(). in .$this-getFile() .: .$this-getMessage(). is not a valid E-Mail address; return $errorMsg; $email = ; try /check if if(filter_var($email, FILTER_VALIDATE_EMAIL) = FALSE)的錯誤。 創(chuàng)建一個自定義的 Exception 類 PHP 中發(fā)生異常時,可調(diào)用 創(chuàng)建自定義的異常處理程序非常簡單。我們簡單地創(chuàng)建了一個專門的類,當 其函數(shù)。該類必須是 e

11、xception 類的一個擴展。 這個自定義的 exception 類繼承了 PHP 的 exception 類的所有屬性,您可向其添加自定義的函數(shù)。 我們開始創(chuàng)建 exception 類: getLine(). in .$this-getFile() .: .$this-getMessage(). is not a valid E-Mail address; return $errorMsg; $email = ; try /check if if(filter_var($email, FILTER_VALIDATE_EMAIL) = FALSE) /throw exception if e

12、mail is not valid throw new customException($email); AAAAAA 精品文檔你我共享 $email = someoneexa mpl ; try try /check for exa mpl e in mail address if(strpos($email, exam pl e) != FALSE) /throw exce ption if email is not valid throw new Exce ption($email); catch(Exce ption $e) /re-throw exce ption throw new

13、 customExce ption($email); catch (customExce ption $e) /dis play custom message echo $e-errorMessage(); ? 例子解釋: AAAAAA 上面的代碼檢測在郵件地址中是否含有字符串 exam pie。如果有,則再次拋出異常: $email = ; try try /check for example in mail address if(strpos($email, example) != FALSE) /throw exception if email is not valid throw new Exception($email); catch(Exception $e) /re-throw exception throw new customException($email); catch (customException $e) /display custom message echo $e-errorMessage(); ? 例子解釋: 上面的代碼檢測在郵

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論