<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            php語言

            PHP異常處理定義與使用方法

            時間:2025-05-21 19:45:22 php語言 我要投稿
            • 相關推薦

            PHP異常處理定義與使用方法

              PHP語法吸收了C語言、Java和Perl的特點,利于學習,使用廣泛,主要適用于Web開發領域。下面是小編分享的PHP異常處理定義與使用方法,一起來看一下吧。

              <?php

              //php5提供了基本的異常處理類,可直接使用 ,不需要自己再定義

              // class Exception

              // {

              // protected $message = 'Unknown exception'; // 異常信息

              // protected $code = 0; // 用戶自定義異常代碼

              // protected $file; // 發生異常的文件名

              // protected $line; // 發生異常的代碼行號

              // function __construct($message = null, $code = 0);

              // final function getMessage(); // 返回異常信息

              // final function getCode(); // 返回異常代碼

              // final function getFile(); // 返回發生異常的文件名

              // final function getLine(); // 返回發生異常的代碼行號

              // final function getTrace(); // backtrace() 數組

              // final function getTraceAsString(); // 已格成化成字符串的 getTrace() 信息

              // /* 可重載的方法 */

              // function __toString(); // 可輸出的字符串

              // }

              ?>

              <?php

              //定義一個頂級異常處理

              function my_exception($e){

              echo "我是頂級異常處理".$e->getMessage();

              }

              //修改默認的頂級異常處理函數(器)

              set_exception_handler("my_exception");

              //我們使用異常機制

              try{

              addUser("shunping");

              updateUser("xiaoming1");

              }

              //catch用來 捕獲異常, Exception 是異常類(是php定義好一個類)

              catch(Exception $e){

              //返回異常信息

              echo "返回異常信息(失敗信息) =".$e->getMessage()."<br/>";

              echo "返回異常代碼 =".$e->getCode()."<br/>";

              echo "返回發生異常的文件名 =".$e->getFile()."<br/>";

              echo "返回發生異常的代碼行號 =".$e->getLine()."<br/>";

              //echo " =".$e->getTrace()."<br/>"; // backtrace() 數組

              //可以繼續拋出,這時將會啟動php默認的異常處理器來處理

              //你也可以自己定義一個頂級異常處理器,對其進行處理

              throw $e;

              }

              function addUser($username){

              if($username=="shunping"){

              //添加ok

              echo "ok1";

              }else{

              //添加error

              //拋出異常.

              throw new Exception("添加失敗");

              }

              }

              function updateUser($username){

              if($username=="xiaoming"){

              //正常修改

              echo "ok2";

              }else{

              //平拋出異常

              throw new Exception("修改失敗");

              }

              }

              ?>

              異常使用的注意事項 :

              通過上面的案例,我們可以看出,使用

              try{

              //代碼

              }catch(Exception $e){

              //對異常處理

              }

              這種方式,可以更有效的控制錯誤.所以在開發中大量的使用.

              1. 當捕獲到一個異常后,try{} 塊里的后續代碼不繼續執行.

              2. 如果有一個異常發生,但是你沒有catch 捕獲,則提示一個Uncaught Exception.(系統.)

              3. 當catch一個異常,你可以處理,也可以不處理,不處理就可以

              throw new Exception("信息");

              4. 你可以自定義異常類

              class MyException extends Exception {

              }

              5. 使用多個 catch 代碼塊可以捕獲不同種類的異常

              try{

              //代碼....

              //第一句話

              //第二句話

              }catch(PDOException $e){

              //

              }catch(Exception $e){

              |

              }

              6. 也可簡單使用 Exception 捕獲

              代碼說明:

              <?php

              //定義了一個異常

              class MyException1 extends Exception{

              }

              class MyException2 extends Exception{

              }

              function A(){

              throw new MyException1("a");

              }

              function B(){

              throw new MyException2("b")

              }

              function C(){

              try{

              A();//拋出MyException1

              B();//拋出MyException2

              }catch(Exception1 $e1){

              $e1->getMessage();

              }catch(Exception2 $e2){

              $e2->getMesage();

              }

              }

              ?>

              異常的規則

              需要進行異常處理的代碼應該放入 try 代碼塊內,以便捕獲潛在的異常。

              每個 try 或 throw 代碼塊必須至少擁有一個對應的 catch 代碼塊。

              使用多個 catch 代碼塊可以捕獲不同種類的異常。

              可以在 try 代碼塊內的 catch 代碼塊中拋出(再次拋出)異常。

              簡而言之:如果拋出了異常,就必須捕獲它。或者使用頂級異常處理器處理。

              如果不拋,即使有異常也不會捕獲,不會處理


            【PHP異常處理定義與使用方法】相關文章:

            PHP異常處理辦法08-08

            如何處理PHP異常10-30

            PHP7的異常處理詳解08-16

            PHP7系列中的異常處理08-11

            PHP7系列之-異常處理06-07

            PHP7系列之異常處理08-15

            PHP5異常處理分析實例08-07

            PHP的自定義模板引擎使用方法11-03

            顯示效果不錯的PHP錯誤 異常處理類07-08

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看