PHP系列(七)PHP錯誤異常處理-創(chuàng)新互聯(lián)

1、Php錯誤報(bào)告級別

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的臺山網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

1 E_ERROR?致命的運(yùn)行錯誤。錯誤無法恢復(fù),暫停執(zhí)行腳本。

2 E_WARNING?運(yùn)行時警告(非致命性錯誤)。非致命的運(yùn)行錯誤,腳本執(zhí)行不會停止。

4 E_PARSE?編譯時解析錯誤。解析錯誤只由分析器產(chǎn)生。

8 E_NOTICE?運(yùn)行時提醒(這些經(jīng)常是你代碼中的bug引起的,也可能是有意的行為造成的。)

error_reporting = E_ALL & ~E_NOTICE

2、自定義php錯誤報(bào)告方式

set_error_handler("myerrorfun");

$mess ="";

function ?myerrorfun($error_type,$error_message,$error_file,$error_line){

global $mess;

$mess.="發(fā)生錯誤級別為{$error_type}類型、錯誤消息<b>{$error_message}</b>,在文件夾{$error_file},第{$error_line}行。<br>";

}

getType($a);

echo"$mess";

顯示為:發(fā)生錯誤級別為8類型、錯誤消息Undefined variable: a,在文件夾C:\AppServ\www\index.php,第9行。

set_error_handler($_type,$_message,$_errfile,$_errline) 函數(shù)設(shè)置用戶自定義的錯誤處理程序,然后觸發(fā)錯誤

3、php記錄錯誤日志

log_errors = on 開啟php日志

error_log =syslog? 將php日志寫到系統(tǒng)上去。

error_log = “c:/lamp/php_error.log”;自已指定一個存放目錄、與上面相斥

ini_set(“l(fā)og_errors”,“on”); 在php開發(fā)文件里設(shè)置

try{

echo"開始";

run();

}catch(Exception $e){

echo$e->getMessage()."<br>";

}

//當(dāng)try{}里面不成功就拋出catch里面的異常

4、自定義異常類

//自定義異常類、必須是系統(tǒng)類Exception的子類

//如果繼承Exception類、重寫了構(gòu)造方法、一定要調(diào)一下父類中被覆蓋的方法/

class ?MyBtException?extends ?Exception{

function__construct($mess){

parent::__construct($mess);

}

functionchangBt(){

echo"換個備胎";

}

}

try{

throw ?new ?MyBtException("車子胞胎");

echo"路況很好!";

}catch(MyBtException $e){

Echo ?$e->getMessage()."<br>";

$e->changBt()."<br>";

}

5、自定義多個異常類

//寫出對應(yīng)這個異常解決方法, 就是一下正常類的結(jié)構(gòu)

class?MyBtException ?extends ?Exception{

function__construct($mess) {

parent::__construct($mess);

}

functionchangBt() {

echo"換上備胎!";

}

}

class ?WcException ?extends ?Exception {

functionpro() {

echo"去公廁<br>";

}

}

class ?NoException ?extends ?Exception {

functionpro() {

echo"買面色湊合一下!<br>";

}

}

Class ?FlException ?extends ?Exception {

functionpro() {

echo"走小路!<br>";

}

}

class? Dm? {

function gowc($bj) {

if(!$bj){

throw?new?WcException("馬桶不好用了");

}

echo"哈哈,事兒辦的很成功!<br>";

}

function?eat($time) {

if(!$time){

thrownew NoException("起來晚了,早餐沒了!");

}

echo"吃的很好!<br>";

}

function dri($dz) {

if(!$dz){

throw?new ?MyBtException("爆胎了");

}

echo"車開的不錯!<br>";

}

function?run($yu) {

if(!$yu){

throw?new ?FlException("天下雪了, 高速封路了");

}

echo"高速很好走!<br>";

}

}

echo "早上起床<br>";

try{

$dm =new ?Dm();

// 1. 上廁所? (馬桶不好用了),去公廁

$dm-> gowc(true);

// 2. 吃早餐 (沒有早點(diǎn)),買面包

$dm-> eat(true);

//3. 開車上班 (爆tai)???????? 換下

$dm->dri(true);

//4. 上高速? (下雪)? 小路

$dm->run(false);

} catch(MyBtException ?$e) {???//? Exception $e = newException('');

echo$e->getMessage()."<br>";

//自定義類中的解決方法調(diào)用,解決了問題

$e->changBt()."<br>";

try {

}catch(Exception$e) {

}

} catch(NoException $e) {

echo$e->getMessage()."<br>";

$e->pro();

} catch(WcException $e) {

echo$e->getMessage()."<br>";

$e->pro();

} catch(Exception $e) {

echo$e->getMessage()."<br>";

//$e->pro();

}

echo"到公司開始工作<br>";

微信掃一掃?、關(guān)注公眾號

不定時分享資料視頻

PHP系列(七)PHP錯誤異常處理

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

名稱欄目:PHP系列(七)PHP錯誤異常處理-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://bm7419.com/article10/ddjjdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站內(nèi)鏈企業(yè)建站、標(biāo)簽優(yōu)化、面包屑導(dǎo)航、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司