php異常處理,php異常捕獲_PHP教程

來源:互聯網
上載者:User

php異常處理,php異常捕獲


使用try{thow}catch(){}異常處理結構,可以有效控制多行可能發生異常的代碼,基本模型如下:

phptry{throw new Exception("錯誤資訊";) //拋出一個錯誤}     catch(Exception $e)  //捕獲錯誤資訊,Exception是一個內建的錯誤處理類{echo $e->getMessage(); //輸出錯誤資訊echo $e->getCode(); //返回異常代碼echo $e->getFile(); //返回傳生異常的檔案echo $e->getLine(); //返回傳生異常的行號}?>

Exception原形:

phpclass Exception{    protected $message = 'Unknown exception';   // 異常資訊    private   $string;                          // __toString cache    protected $code = 0;                        // 使用者自訂異常代碼    protected $file;                            // 發生異常的檔案名稱    protected $line;                            // 發生異常的程式碼號    private   $trace;                           // backtrace    private   $previous;                        // previous exception if nested exception    public function __construct($message = null, $code = 0, Exception $previous = null);    final private function __clone();           // Inhibits cloning of exceptions.    final public  function getMessage();        // 返回異常資訊    final public  function getCode();           // 返回異常代碼    final public  function getFile();           // 返回傳生異常的檔案名稱    final public  function getLine();           // 返回傳生異常的程式碼號    final public  function getTrace();          // backtrace() 數組    final public  function getPrevious();       // 之前的 exception    final public  function getTraceAsString();  // 已格成化成字串的 getTrace() 資訊    public function __toString();               // 可輸出的字串}?> 

同時,一個try也可以關聯多個catch塊,可以自訂類繼承Exception類來實現

php  class myException1 extends Exception{}  //根據需要自訂  class myException2 extends Exception{}  class myException3 extends Exception{}  try{    switch(1){      case 1:throw new myException1();      case 2:throw new myException2();      case 3:throw new myException3(); //當找不到對應的catch代碼塊時,將會拋到Exception處理,因為myException3繼承了Exception    }  }  catch(myException1 $e){    echo "自訂錯誤1";  }  catch(myException2 $e){    echo "自訂錯誤2";  }  catch(Exception $e){    echo "原始異常類";   }?>

http://www.bkjia.com/PHPjc/1127597.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1127597.htmlTechArticlephp異常處理,php異常捕獲 使用try{thow}catch(){}異常處理結構,可以有效控制多行可能發生異常的代碼,基本模型如下: ? php try {throw new Exc...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.