PHP中的錯誤處理和異常處理

來源:互聯網
上載者:User
本篇文章主要介紹PHP中的錯誤處理和異常處理,感興趣的朋友參考下,希望對大家有所協助。

錯誤處理:

1. 語法錯誤
2. 運行時的錯誤
3. 邏輯錯誤

錯誤報表:

錯誤E_ERROR
警告E_WARNING
注意E_NOTICE


開發階段:開發時輸出所有的錯誤報表,有利於我們進行調試

運行階段:不要讓程式輸出任何一種錯誤報表

將錯誤報表寫入日誌中

一. 指定錯誤報表error_reporting=E_ALL(在php.inn)

二. 關閉錯誤輸出display_errors=off(在php.ini中)

三. 開啟錯誤記錄檔的功能log_errors=on(在php.ini中)

1. 預設如果不指定錯誤記錄檔位置,則預設寫入web伺服器的日誌中

2. 為error_log選項指定一個檔案名稱,這個檔案名稱就是錯誤記錄檔

3. 寫入到作業系統日誌中error_log=syslog


<?php//注意和警告都不會終止程式的運行,但是錯誤會終止程式的運行/*錯誤E_ERROR警告E_WARNING注意E_NOTICE*///所有的錯誤都輸出除了注意error_reporting(E_ALL & ~E_NOTICE);//設定設定檔的值(臨時)//ini_set("upload_max_filesize", 2000000000);//得到設定檔的值//ini_get("upload_max_filesize");//關閉錯誤報表的顯示,一般在運行階段使用ini_set("display_errors", "off");//將錯誤報表寫入日誌中ini_set("log_errors", "on");//日誌的目錄ini_set("error_log", "D:/error.log");gettype($var);  //注意gettype();    //警告//getype();    //錯誤,程式終止echo "############<br>";?>


異常處理:意外,是在程式運行過程中發生的意料之外的事,使用異常改變指令碼正常流程

PHP5中的一個新的重要特性


try{

}catch(異常對象){

}

1. 如果try中代碼沒有問題,則將try中代碼執行完成後就到catch後執行

2. 如果try中代碼有異常發生,則拋出一個異常對象(使用throw),拋出給了catch中的參數,則在try中出現異常代碼後的內容就不會執行,直接跳轉到catch中去執行,catch中執行完成,再繼續向下執行


<?phptry{  echo "11111111<br>";  $file=@fopen("./hello.txt","r");  if(!$file){    throw new Exception("檔案開啟失敗");      }  echo "2222222222<br>";}catch(Exception $e){  echo "3333333<br>";  echo $e->getMessage()."<br>";  touch("hello.txt");  $file=@fopen("./hello.txt","r");}echo "4444444<br>";?>


以上就是本文的全部內容,希望對大家的學習有所協助。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.