這篇文章主要介紹了關於淺談PHP中的錯誤處理和異常處理,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
錯誤處理:
1. 文法錯誤
2. 執行時的錯誤
3.邏輯錯誤
錯誤回報:
錯誤回報:
#錯誤回報
#
錯誤E_ERROR警告E_WARNING
## 運行階段:不要讓程式輸出任何一種錯誤報告將錯誤報告寫入日誌中
一. 指定錯誤報告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中文網其他相關文章!