1、Php錯誤報告級別
揭陽網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)公司成立與2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
1 E_ERROR 致命的運行錯誤。錯誤無法恢復(fù),暫停執(zhí)行腳本。
2 E_WARNING 運行時警告(非致命性錯誤)。非致命的運行錯誤,腳本執(zhí)行不會停止。
4 E_PARSE 編譯時解析錯誤。解析錯誤只由分析器產(chǎn)生。
8 E_NOTICE 運行時提醒(這些經(jīng)常是你代碼中的bug引起的,也可能是有意的行為造成的。)
error_reporting = E_ALL & ~E_NOTICE
2、自定義php錯誤報告方式
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. 吃早餐 (沒有早點),買面包
$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>";
新聞標(biāo)題:PHP系列(七)PHP錯誤異常處理
網(wǎng)站鏈接:http://chinadenli.net/article12/ihojdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、網(wǎng)站內(nèi)鏈、網(wǎng)頁設(shè)計公司、網(wǎng)站策劃、動態(tài)網(wǎng)站、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)