這篇文章主要介紹PHP中的錯誤處理和異常處理,有興趣的朋友參考下,希望對大家有幫助。
錯誤處理:
1. 文法錯誤
2. 執行時的錯誤
錯誤報告:
錯誤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中執行完成,再繼續向下執行
<?php try{ 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>"; ?>
以上就是本文的全部內容,希望對大家的學習有幫助。
相關推薦:
異常與錯誤解析
異常處理類別的方法
異常的處理類別的方法
#
以上是PHP中的錯誤處理與異常處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!