亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

php中錯(cuò)誤處理操作實(shí)例分析

 更新時(shí)間:2019年08月23日 10:24:12   作者:cscsdvdsv  
這篇文章主要介紹了php中錯(cuò)誤處理操作,結(jié)合實(shí)例形式分析了php錯(cuò)誤的觸發(fā)、處理、日志記錄等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了php中錯(cuò)誤處理操作。分享給大家供大家參考,具體如下:

錯(cuò)誤觸發(fā)

有2種觸發(fā):

系統(tǒng)觸發(fā): E_NOTICE:提示性錯(cuò)誤,比如使用不存在的變量或常量
E_WARNING:警告性錯(cuò)誤,比如include載入一個(gè)不存在的文件
E_ERROR:致命錯(cuò)誤,導(dǎo)致程序無法執(zhí)行后續(xù)語句,比如調(diào)用一個(gè)不存在的函數(shù)

自定義觸發(fā):
語法形式:trigger_error("錯(cuò)誤提示信息內(nèi)容",3種用戶錯(cuò)誤代號(hào)之一);
其中觸發(fā)了用戶的致命錯(cuò)誤(E_USER_ERROR),也會(huì)終止程序的后續(xù)執(zhí)行

錯(cuò)誤顯示

是否顯示錯(cuò)誤報(bào)告(display_errors)

有2種來設(shè)定是否顯示:

1.在php.ini文件中,設(shè)定display_erros的值,為on(顯示),或?yàn)閛ff(不顯示),開發(fā)階段應(yīng)該為on,顯示錯(cuò)誤信息

2.直接在php腳本文件中設(shè)定ini_set("display_errors",0);//不顯示錯(cuò)誤報(bào)告,1為顯示
顯示哪些級(jí)別的錯(cuò)誤報(bào)告(error_reporting)
前提是"display_errors"設(shè)置為on(或1),表示可以顯示
1.在php.ini文件中 error_reporting=E_ALL | E_STRICT這個(gè)值代表所有錯(cuò)誤

  • 在當(dāng)前的腳本代碼中設(shè)置
ini_set("error_reporting",E_NOTICE); //就顯示該一個(gè)級(jí)別的錯(cuò)誤
ini_set("error_reporting",E_NOTICE| E_WARNING); //顯示該2個(gè)級(jí)別的錯(cuò)誤
//禁用錯(cuò)誤報(bào)告
error_reporting(0);
//報(bào)告運(yùn)行時(shí)錯(cuò)誤
error_reporting(E_ERROR | E_WARNING | E_PARSE);
//報(bào)告所有錯(cuò)誤
error_reporting(E_ALL);

錯(cuò)誤日志記錄

錯(cuò)誤日志其實(shí)就是錯(cuò)誤報(bào)告,只是會(huì)寫入文件中,此時(shí)就稱為錯(cuò)誤日志

是否記錄log_errors

php.ini中:log_errors=on或off 腳本中:ini_set("log_erros",1);或0
補(bǔ)充: ini_set("php配置項(xiàng)",值);//用于腳本中設(shè)置php.ini中某項(xiàng)的值
$v=ini_get("php配置項(xiàng)");//用于獲取php.ini中某項(xiàng)的值

記錄到哪里error_log

一般就只有2個(gè)寫法:

1.直接寫一個(gè)文件名,系統(tǒng)會(huì)自動(dòng)在每個(gè)文件夾下都建立該文件名,并用其記錄該文件夾下的所有網(wǎng)頁文件發(fā)生的錯(cuò)誤信息ini_set("error_log","my_error.txt");//記錄到該文件

2.使用一個(gè)特殊的名字"syslog",則所有的錯(cuò)誤信息都會(huì)記錄到系統(tǒng)的"日志文件中".系統(tǒng)日志文件在這里:控制面板》管理工具》事件查看器》window日志》應(yīng)用程序:

ini_set("error_log","syslog");//記錄到系統(tǒng)日志中

自定義錯(cuò)誤處理器

讓系統(tǒng)不要去處理錯(cuò)誤了,完全由開發(fā)者對(duì)錯(cuò)誤進(jìn)行處理:顯示和記錄

第一步:設(shè)定要用于處理錯(cuò)誤的函數(shù)名:set_error_handler("f1");

第二步:去定義該函數(shù)function f1() {這里可以寫任意代碼,正常去顯示錯(cuò)誤報(bào)告,和記錄}

例:

set_error_handler("my_error_handler");
//定義該函數(shù),需要定義4個(gè)形參分別代表$errCode:代表錯(cuò)誤代號(hào)(級(jí)別) $errMsg:代表錯(cuò)誤//信息內(nèi)容 $errFile:代表錯(cuò)誤的文件名 $errLine:代表錯(cuò)誤的行號(hào),一旦發(fā)生錯(cuò)誤自動(dòng)調(diào)用
function my_error_handler($errCode,$errMsg,$errFile,$errLine) {
  $str="";
  $str .="<p><font color='red'>大事不好,發(fā)生錯(cuò)誤:</font>";
  $str .="<br />錯(cuò)誤代號(hào)為:".$errCode;
  $str .="<br />錯(cuò)誤內(nèi)容為:".$errMsg;
  $str .="<br />錯(cuò)誤代號(hào)為:".$errFile;
  $str .="<br />錯(cuò)誤代號(hào)為:".$errLine;
  $str .="<br />發(fā)生時(shí)間為:".date("Y-d-m H:i:s");
  $str .="</p>";
  echo $str; //輸出該構(gòu)建完整的錯(cuò)誤處理結(jié)果,也可以將改內(nèi)容寫到某個(gè)文件中去
}

異常拋出

function checkAge($age){
  if($age>100) throw new Exception('年齡不能大于100');
  echo '年齡符合規(guī)范';
}
//如果年齡大于100,拋出異常
try{
  checkAge(200);
}catch(Exception $e){
  echo $e->getMessage();
}

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP錯(cuò)誤與異常處理方法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • PHP借助phpmailer發(fā)送郵件

    PHP借助phpmailer發(fā)送郵件

    phpmailer是一款免費(fèi)的php郵件發(fā)送插件,我們可以利用phpmailer登錄到我們指定的郵件然后再利用這個(gè)郵件給我們自動(dòng)發(fā)郵件了,這個(gè)現(xiàn)在免費(fèi)的郵箱像163,sina都支持,好了費(fèi)話不說多了來看看一段phpmainer 163郵件發(fā)送郵件吧。
    2015-05-05
  • php MySQL與分頁效率

    php MySQL與分頁效率

    作者:老王 如果和MSSQL的TOP語法相比,那么MySQL的LIMIT語法要顯得優(yōu)雅了許多。使用它來分頁是再自然不過的事情了。
    2008-06-06
  • 10個(gè)實(shí)用的PHP正則表達(dá)式匯總

    10個(gè)實(shí)用的PHP正則表達(dá)式匯總

    這篇文章主要介紹了10個(gè)實(shí)用的PHP正則表達(dá)式匯總,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • PHP常見數(shù)組函數(shù)用法小結(jié)

    PHP常見數(shù)組函數(shù)用法小結(jié)

    這篇文章主要介紹了PHP常見數(shù)組函數(shù)用法,結(jié)合實(shí)例形式分析了array_merge、array_slice及array_map函數(shù)的使用技巧,需要的朋友可以參考下
    2016-03-03
  • phpstorm編輯器亂碼問題解決

    phpstorm編輯器亂碼問題解決

    這篇文章主要介紹了phpstorm編輯器亂碼問題的解決方案,非常的實(shí)用,給需要的小伙伴們參考下。
    2014-12-12
  • PHP實(shí)現(xiàn)的增強(qiáng)性mhash函數(shù)

    PHP實(shí)現(xiàn)的增強(qiáng)性mhash函數(shù)

    這篇文章主要介紹了PHP實(shí)現(xiàn)的增強(qiáng)性mhash函數(shù),使用默認(rèn)mhash函數(shù)時(shí)報(bào)錯(cuò),找到了兩個(gè)解決方法,需要的朋友可以參考下
    2015-05-05
  • PHP類的反射用法實(shí)例

    PHP類的反射用法實(shí)例

    這篇文章主要介紹了PHP類的反射用法,實(shí)例講述了反射類的常用操作,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-11-11
  • php獲取遠(yuǎn)程圖片并下載保存到本地的方法分析

    php獲取遠(yuǎn)程圖片并下載保存到本地的方法分析

    這篇文章主要介紹了php獲取遠(yuǎn)程圖片并下載保存到本地的方法,結(jié)合實(shí)例形式對(duì)比分析了php基于curl與緩存操作獲取遠(yuǎn)程圖片及圖片保存的相關(guān)操作技巧,需要的朋友可以參考下
    2016-10-10
  • php命名空間設(shè)計(jì)思想、用法與缺點(diǎn)分析

    php命名空間設(shè)計(jì)思想、用法與缺點(diǎn)分析

    這篇文章主要介紹了php命名空間設(shè)計(jì)思想、用法與缺點(diǎn),結(jié)合實(shí)例形式分析了php命名空間的概念、用法及相關(guān)的操作注意事項(xiàng),并給出了使用建議,需要的朋友可以參考下
    2019-07-07
  • PHP從FLV文件獲取視頻預(yù)覽圖的方法

    PHP從FLV文件獲取視頻預(yù)覽圖的方法

    這篇文章主要介紹了PHP從FLV文件獲取視頻預(yù)覽圖的方法,實(shí)例分析了php操作flv文件獲取截圖的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03

最新評(píng)論