您現在的位置是:電腦技術吧?>? 基礎知識 ??>??如何異常處理,異常處理是由??>??正文詳情

如何異常處理,異常處理是由

杭詩霜2019-12-13 03:42:08 人圍觀
簡介異常處理四步驟本文主要介紹PHP異常處理分析,重點介紹如何捕獲異常,并給出代碼操作示例。您可以參考PHP來保留兩個異常類:exception和errorexception。代js異常處理

這篇文章主要介紹了PHP異常處理淺析,本文著重講解如何捕獲異常,并給出代碼操作實例,需要的朋友可以參考下  PHP預定了兩個異常類:Exception和ErrorException   代碼如下:  Exception {  /* 屬性 */  protected string $message ; //異常消息內容  protected int $code ; //異常代碼號  protected string $file ; //拋出異常的文件名  protected int $line ; //拋出異常在該文件中的行號  /* 方法 */  public __construct ([ string $message = [, int $code = 0 [, Exception $previous = null]]] )  final public string getMessage ( void ) //異常拋出的信息  final public Exception getPrevious ( void ) //前一異常  final public int getCode ( void ) //異常代碼,這是用戶自定義的  final public string getFile ( void ) //發生異常的文件路勁  final public int getLine ( void ) //發生異常的行  final public array getTrace ( void ) //異常追蹤信息(array)  final public string getTraceAsString ( void ) //異常追蹤信息(string)  public string __toString ( void ) //試圖直接 將異常對象當作字符串使用時調用子函數的返回值  final private void __clone ( void ) //克隆異常對象時調用  }   代碼如下:  ErrorException extends Exception {  /* 屬性 */  protected int $severity ;  /* 方法 */  public __construct ([ string $message = [, int $code = 0 [, int $severity = 1 [, string $filename = __FILE__ [, int $lineno = __LINE__ [, Exception $previous = NULL ]]]]]] )  final public int getSeverity ( void )  /* 繼承的方法 */  final public string Exception::getMessage ( void )  final public Exception Exception::getPrevious ( void )  final public int Exception::getCode ( void )  final public string Exception::getFile ( void )  final public int Exception::getLine ( void )  final public array Exception::getTrace ( void )  final public string Exception::getTraceAsString ( void )  public string Exception::__toString ( void )  final private void Exception::__clone ( void )  }  那么如何捕獲異常?  (1)PHP可用try...catch...捕獲異常,進行異常處理的代碼必須在try代碼塊內。

   代碼如下:  try {  throw new Exception('exception test 1', 1001);  } catch(Exception $e) {  echo $e-getMessage().'-'.$e-getCode();  }  (2)用戶可以自定義異常處理函數[set_exception_handler],用于沒用用try/catch捕獲的異常。

   代碼如下:  function exception_handler ( $e ) {  echo Uncaught exception: , $e - getMessage (), n ;  }  set_exception_handler ( 'exception_handler' );  throw new Exception ( 'Uncaught Exception' );  echo 這行不會執行了;  可以看到使用ser_exception_handler回調函數處理異常,后續的代碼不會繼續執行,但try-catch可以。

  (3)PHP可用多catch捕獲不同類型異常,并允許在catch代碼塊內再次拋出異常。

  代碼如下:  //請根據實際擴展異常類  class MyException extends Exception {  public function __construct($message = '', $code = 0) {  }  public function myFunction() {  echo 'just for test';  }  }  try {  throw new MyException('an error');  } catch (MyException $e) {  echo $e-myFunction();  } catch (Exception $e) {  echo $e-getMessage();  }  (4)PHP5.5已經支持finally關鍵詞,你無需關心異常是否溢出了。

  可對比如下:   代碼如下:  function doSomething() {  $resource = createResource();  try {  $result = useResource($resource);  } catch (Exception $e) {  releaseResource($resource);  log($e-getMessage());  exit();  }  releaseResource($resource);  return $result;  }  //使用finally后  function doSomething2() {  $resource = createResource();  try {  $result = useResource($resource);  return $result;  } catch (Exception $e) {  log($e-getMessage());  exit();  } finally {  releaseResource($resource);  }  }

版權聲明:本文由 杭詩霜 整理編輯。

原標題:什么是異常處理,為什么要進行異常處理

轉載注明出處:http://www.dn9ww09s.icu/basics/15396.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 怎樣成為成功的人,我要成為一個成功的人

    怎樣成為成功的人,我要成為一個成功的人 相關圖片如何做一個成功的人一個常見的錯誤是將JSP視為簡化的Java。實際上,JSP是一個簡化的servlet。)程序員經常嘗試直接學習jsp而不學習所需的支持技術。JSP是一種橋接技術怎樣做一個成功的...

  • asp批量文件復制,aspgridview選擇性

    asp批量文件復制,aspgridview選擇性 相關圖片asp今天函數FSO filesystemobject對象的deletefile函數很容易刪除。讓我們看看下面的例子。我們將使用函數delfile(path)dim fsorasp轉換函數...

  • asp實例,asp開發實例

    asp實例,asp開發實例 相關圖片aspnet網站開發實例本文主要介紹了asp.net輸出重寫壓縮頁面文件的示例代碼。您可以為您的朋友參考以下示例代碼:使用系統;使用系統。數據;使用系統。配置;使用系統。西asp入門到...

  • 寫代碼需要什么配置,此設備的配置不正確代碼1

    寫代碼需要什么配置,此設備的配置不正確代碼1 相關圖片編程配置本文主要介紹了PHPIDEphpstorm配置支持友好的laravel代碼提示方法,關鍵配置已經添加了紅色提示,您可以參考phpstorm工件來支持更友好的la跑代碼用什么電腦配置...

  • 數據庫如何連接asp,aspnet連接數據庫

    數據庫如何連接asp,aspnet連接數據庫 相關圖片asp連數據庫Cls數DBPrivate ConnStrPrivate DBpath,DBLink,DBi=======數據庫連接操作:==========asp與數據庫...

  • c 基本語法,c基本語法

    c  基本語法,c基本語法 相關圖片c語言的基本語法有五種類型的JSP編譯器指南和指令組件。在JSP 1.0之后,大多數JSP包含在一個標記中,以%作為開始%和%作為結束。新的JSP 1.1規范已經發布,并且它也objectc的基本語法...

  • jsp如何實現分頁,jsp怎么分頁

    jsp如何實現分頁,jsp怎么分頁 相關圖片jsp分頁代碼步驟%//變量聲明java.sql.connection sqlcon;//database connection object java.sql.statemenservlet分頁...

  • 用循環輸出等腰三角形,js輸出等腰三角形

    用循環輸出等腰三角形,js輸出等腰三角形 相關圖片java輸出一個等腰三角形本文通過一個實例說明如何在PHP中輸出等腰三角形。與您分享以供參考。具體實現方法如下:?123456789101213141516171819202122232等腰三角形的講解...

  • 兩個字符串相同的字符,比較兩個字符串有相同字符

    兩個字符串相同的字符,比較兩個字符串有相同字符 相關圖片字符串復制判斷字符串中的相同字符數查找兩個字符串第一個相同字符...

  • on時間的用法,時間前面的介詞用法

    on時間的用法,時間前面的介詞用法 相關圖片quarter的時間用法不定期地計算每月的天數、每周的天數和周末一直是日歷相關應用程序開發中的一大難題。因此,對新程序員來說,日期和時間編程常常令人望而生畏。本文將演示JSP應...

熱評文章

  • 怎么獲取地址欄的參數,jsp獲取地址欄網址

    怎么獲取地址欄的參數,jsp獲取地址欄網址 相關圖片手機端獲取地址欄高度如果我們想得到地址:http://192.168.0.5/super/super_article。ASP?Id=4,那么我們只需要得到:192.168.0.5%電腦地址欄在哪...

  • asp獲取xml,xmlpost請求asp

    asp獲取xml,xmlpost請求asp 相關圖片api返回xml格式本文主要介紹了asp.net操作中XML的添加、刪除和修改的實例。以下代碼可由所需的朋友參考:使用系統;使用系統。收集;使用系統。組件模型;使用系統Js加載xml跨域...

  • aspnet文件上傳,asp上傳文件

    aspnet文件上傳,asp上傳文件 相關圖片asp上傳文件保存Asp.net依賴于。Net framework類庫封裝了很多函數,使得上傳文件變得非常簡單。有三種基本方法。您可以參考以下方法為您的朋友:使用web控件文件上asp上傳文字源碼...

  • ASP入門,asp詳細教程

    ASP入門,asp詳細教程 相關圖片asp建站教程ASP-cookies教程是用來記錄用戶瀏覽等信息的,但cookies只能將信息保存到客戶端,而且不安全。許多簡單的投票使用cookies。在同一個ASP會話中簡單ASP網頁...

  • querystring傳值,parsequerystring

    querystring傳值,parsequerystring 相關圖片vuequerystring當您從HTML表單傳遞信息時,使用get方法從ASP頁面處理它,并且您可以使用ASP的querystring集合檢索數據。在過去,我們創建tizagform.hquerystringpost...

  • artifact在線人數,全球在線人數最多的游戲

    artifact在線人數,全球在線人數最多的游戲 相關圖片在線人數最多的網友Global.asa是一個文本文件,可以找到您的主目錄(/Global.asa)。Lou將基本結構顯示為global.as a文件。global.asa腳本語言騰訊在線人數提前...

  • 這件事使我苦惱,什么使我煩惱

    這件事使我苦惱,什么使我煩惱 相關圖片考試使我苦惱作文450PHP編程中的中文編碼問題一直困擾著許多人。這個問題的原因很簡單。每個國家(地區)都規定了計算機信息交換的字符編碼集,如美國的擴展ASCII碼、中國的GB231最...

  • asp導出excel,asp導出到excel

    asp導出excel,asp導出到excel 相關圖片asp導出exl本文主要介紹了asp.net導出excel的簡單方法實例。你可以給你的朋友參考Excel的操作。最常用的方法是導出和導入。關于密碼沒有太多的胡說八道。這個例子是aspose導出excel亂碼...

  • 循環增加json節點,識別json節點數量

    循環增加json節點,識別json節點數量 相關圖片java遍歷json我們之前已經解釋了使用JavaScript獲取JSON數據節點路徑的問題。今天我們將更進一步。我們來談談如何通過PHP獲取JSON數據的所有節點路徑?12345c# json...

  • ajax sqlserver,jquerysql注入

    ajax sqlserver,jquerysql注入 相關圖片jsp防止sql注入本文主要介紹了asp.net Ajax SQL Server的自動完成功能。對于您的朋友,請參考下面的代碼下載說明:數據庫連接字符串在web.config文件中sql有什么用...

關注微信

变脸官网查询