《PHP學(xué)習(xí):淺談PHP中的錯誤處理和異常處理》要點:
本文介紹了PHP學(xué)習(xí):淺談PHP中的錯誤處理和異常處理,希望對您有用。如果有疑問,可以聯(lián)系我們。
PHP編程錯誤處理:
????
??? 1. 語法錯誤
??? 2. 運(yùn)行時的錯誤
??? 3. 邏輯錯誤
PHP編程?
PHP編程錯誤報告:
????????
??????? 錯誤E_ERROR
??????? 警告E_WARNING
??????? 注意E_NOTICE
PHP編程
開發(fā)階段:開發(fā)時輸出所有的錯誤報告,有利于我們進(jìn)行調(diào)試
PHP編程運(yùn)行階段:不要讓程序輸出任何一種錯誤報告
PHP編程將錯誤報告寫入日志中
PHP編程一.?? 指定錯誤報告error_reporting=E_ALL(在php.inn)
PHP編程二.?? 關(guān)閉錯誤輸出display_errors=off(在php.ini中)
PHP編程三.?? 開啟錯誤日志的功能log_errors=on(在php.ini中)
PHP編程1. 默認(rèn)如果不指定錯誤日志位置,則默認(rèn)寫入web服務(wù)器的日志中
PHP編程2. 為error_log選項指定一個文件名,這個文件名就是錯誤日志
PHP編程3. 寫入到操作系統(tǒng)日志中error_log=syslog
PHP編程
<?php
//注意和警告都不會終止程序的運(yùn)行,但是錯誤會終止程序的運(yùn)行
/*
錯誤E_ERROR
警告E_WARNING
注意E_NOTICE
*/
//所有的錯誤都輸出除了注意
error_reporting(E_ALL & ~E_NOTICE);
//設(shè)置配置文件的值(臨時)
//ini_set("upload_max_filesize", 2000000000);
//得到配置文件的值
//ini_get("upload_max_filesize");
//關(guān)閉錯誤報告的顯示,一般在運(yùn)行階段使用
ini_set("display_errors", "off");
//將錯誤報告寫入日志中
ini_set("log_errors", "on");
//日志的目錄
ini_set("error_log", "D:/error.log");
gettype($var); //注意
gettype(); //警告
//getype(); //錯誤,程序終止
echo "############<br>";
?>
PHP編程異常處理:意外,是在程序運(yùn)行過程中發(fā)生的意料之外的事,使用異常改變腳本正常流程
PHP編程?PHP5中的一個新的重要特性
PHP編程
??? try{
PHP編程??? }catch(異常對象){
PHP編程??? }
PHP編程1.? 如果try中代碼沒有問題,則將try中代碼執(zhí)行完成后就到catch后執(zhí)行
PHP編程2.? 如果try中代碼有異常發(fā)生,則拋出一個異常對象(使用throw),拋出給了catch中的參數(shù),則在try中出現(xiàn)異常代碼后的內(nèi)容就不會執(zhí)行,直接跳轉(zhuǎn)到catch中去執(zhí)行,catch中執(zhí)行完成,再繼續(xù)向下執(zhí)行
PHP編程
<?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中的錯誤處理和異常處理就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持維易PHP.
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/1896.html