淺談PHP的錯誤處理與異常處理

不言
發布: 2023-03-29 17:50:02
原創
1461 人瀏覽過

這篇文章主要介紹了關於淺談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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!