亚洲一区二区三区在线播放,伊人久久精品无码av一区,亚洲国产精品一区二区第一页免,无码aⅴ精品一区二区三区浪潮

熱門文章

最新文章

PHP中的錯誤及其處理機制

發(fā)布時間:2021-06-22 15:26:45

在PHP的學習過程中,我們會接觸到兩個概念,一個是錯誤,一個是異常。啥玩意?他們不是一個東西嘛?如果接觸過Java、C#之類的純面向對象語言的同學,可能對異常是沒有什么問題,畢竟所有的問題都可以try...catch來解決。但是像PHP這種從面向過程發(fā)展到面向對象的語言來說,錯誤和異常就是兩個完全不同的東西了。

我們將用一系列的文章來徹底的搞懂PHP中的錯誤和異常到底是怎么回事,有哪些處理這些錯誤和異常的機制,我們應該如何對待它們。

什么是錯誤?

錯誤,一般是由PHP本身的因素所導致的問題,錯誤的語法、環(huán)境的配置不當等都會引起錯誤。錯誤和php.ini文件當中的error_reporting參數有直接的關系。相信大家都配過這個參數。一般會把它配置為 E_ALL & ~E_NOTICE 。這是什么意思呢?我們先來看看PHP中有哪些錯誤類型:

Fatal Error:致命錯誤(腳本終止運行)

  • E_ERROR // 致命的運行錯誤,錯誤無法恢復,暫停執(zhí)行腳本

  • E_CORE_ERROR // PHP啟動時初始化過程中的致命錯誤

  • E_COMPILE_ERROR // 編譯時致命性錯,就像由Zend腳本引擎生成了一個E_ERROR

  • E_USER_ERROR // 自定義錯誤消息。像用PHP函數trigger_error(錯誤類型設置為:E_USER_ERROR)

Parse Error:編譯時解析錯誤,語法錯誤(腳本終止運行)

E_PARSE //編譯時的語法解析錯誤

Warning Error:警告錯誤(僅給出提示信息,腳本不終止運行)

  • E_WARNING // 運行時警告 (非致命錯誤)。

  • E_CORE_WARNING // PHP初始化啟動過程中發(fā)生的警告 (非致命錯誤) 。

  • E_COMPILE_WARNING // 編譯警告

  • E_USER_WARNING // 用戶產生的警告信息

Notice Error:通知錯誤(僅給出通知信息,腳本不終止運行)

  • E_NOTICE // 運行時通知。表示腳本遇到可能會表現為錯誤的情況.

  • E_USER_NOTICE // 用戶產生的通知信息。

在配置文件中的 E_ALL & ~E_NOTICE 就是顯示所有錯誤但通知錯誤類錯誤除外的意思。當然,我們在代碼中也可以手動的改變這種錯誤信息的通知。

1
error_reporting(E_ALL);

通過這行代碼,我們就讓當前文件代碼中的錯誤全部顯示出來了。Notice 和 Warning 類型的錯誤是不會中斷代碼運行的,他們是通知和報警,并不是致命的錯誤。而其他類型的錯誤則會中斷代碼的執(zhí)行。

1
2
3
4
5
$a = 100 / 0; // Warning: Division by zero
echo $f; // Notice: Undefined variable: f
test(); // Fatal error: Uncaught Error: Call to undefined function test()
 
echo 1;

上述代碼中分別是Warning的除0錯誤警告和echo $f;的未定義變量提示,這兩行代碼都是可以在報錯后可以繼續(xù)向下運行的。而未定義的方法則是Fatal級別的致命錯誤了。所以最后那個1也不會輸出了。

那么錯誤要如何處理呢?原則上我們應該是要去消滅這些錯誤的,因為他們基本上不會是我們寫代碼的邏輯沒理清而產生的邏輯錯誤,是實打實的一些語法及環(huán)境錯誤,這種錯誤在生產環(huán)境是不應該出現的。同時,它們與異常最最重要的一個區(qū)別就是,它們無法通過try...catch進行捕獲。也就是說,這種錯誤沒有非常好的錯誤后處理機制。

1
2
3
4
5
6
try {
    $a = 100 / 0; // Warning: Division by zero
    echo $f; // Notice: Undefined variable: f
} catch (Excepiton $e) {
    print_r($e); // 無法捕獲
}

不過,PHP還是提供了一些處理錯誤的函數供我們使用。

  • set_error_handler()

基本上只能處理 Warning 和 Notice 級別的錯誤。

1
2
3
4
5
6
7
8
9
set_error_handler(function( $errno , $errstr ){
    echo 'set_error_handler:', $errno, $errstr, PHP_EOL;
});
$a = 100 / 0; // Warning: Division by zero
echo $f; // Notice: Undefined variable: f
test(); // Fatal error: Uncaught Error: Call to undefined function test()
 
// set_error_handler:2Division by zero
// set_error_handler:8Undefined variable: f

從代碼中可以看出,Fatal error這種致命錯誤并沒有捕獲到。

  • register_shutdown_function()

其實它也不是用來處理錯誤的,這個函數的作用是在發(fā)生致命錯誤,程序停止前最后會調用的一個函數。可以用來記錄日志或者關閉一些重要的外部句柄,不過在生產環(huán)境中,我們一般會用php.ini中的log_error來進行日志的記錄。所以這個函數也用得并不多。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
register_shutdown_function(function(){
    echo 'register_shutdown_function:', PHP_EOL;
    print_r(error_get_last());
});
test();
 
// register_shutdown_function:
// Array
// (
//     [type] => 1
//     [message] => Uncaught Error: Call to undefined function test() in /php/202002/source/一起搞懂PHP的錯誤和異常(一).php:16
// Stack trace:
// #0 {main}
//   thrown
//     [file] => /php/202002/source/一起搞懂PHP的錯誤和異常(一).php
//     [line] => 16
// )

這個函數的回調函數中沒有任何的參數變量,所以我們需要通過 error_get_last() 來拿到本次執(zhí)行中發(fā)生的所有錯誤情況。另外要注意的是,只有在運行時產生的錯誤都會調用到這個注冊函數的回調中,編譯時的錯誤是也是無法通過這個函數捕獲到的,比如直接的語法錯誤:

1
2
3
4
5
6
register_shutdown_function(function(){
    echo 'register_shutdown_function:', PHP_EOL;
    print_r(error_get_last());
});
 
test(a+-); // Parse error: syntax error, unexpected ')'

總結

綜上所述,就像在文章前面說過的,錯誤是應該盡量不要帶到生產環(huán)境中去的,它們并沒有很好的處理機制。或者說,錯誤就是我們要盡量避免的東西,因為大部分情況下它和我們的邏輯代碼并沒有太大的關系。而且嚴重的錯誤會直接導致程序運行的中止,無法像異常一樣通過catch機制保證程序繼續(xù)運行。

以上就是PHP中錯誤和異常的概念的詳細內容,更多關于PHP 錯誤和異常的資料請關注腳本之家其它相關文章!


返回頂部
亚洲一区二区三区在线播放,伊人久久精品无码av一区,亚洲国产精品一区二区第一页免,无码aⅴ精品一区二区三区浪潮
<span id="fu32q"></span>
    1. <li id="fu32q"><meter id="fu32q"><th id="fu32q"></th></meter></li>
      成人亚洲一区二区一| 日本欧美一区二区三区乱码| 国产成人欧美日韩在线电影 | 日本亚洲最大的色成网站www| 丝袜诱惑制服诱惑色一区在线观看| 91丨porny丨蝌蚪视频| 美国毛片一区二区三区| 国产91丝袜在线18| 看片网站欧美日韩| 国产.欧美.日韩| 日本美女一区二区三区| 国产成人在线影院| 麻豆成人免费电影| 91丨九色丨黑人外教| 国产精品538一区二区在线| 91亚洲永久精品| 国产精品羞羞答答xxdd| 蜜芽一区二区三区| 波多野洁衣一区| 国产精品影视天天线| 奇米一区二区三区av| 成人福利视频网站| 国产一区二区三区在线观看免费| 91丨porny丨国产入口| 国产**成人网毛片九色 | 国产一区二区免费视频| 日本不卡视频一二三区| av日韩在线网站| 国产成人免费视频一区| 精品一区二区三区香蕉蜜桃 | 久久精品国产精品亚洲综合| 99国产精品国产精品久久| 国产传媒久久文化传媒| 国产一区二三区| 久久国产福利国产秒拍| 美女网站视频久久| 99视频热这里只有精品免费| 激情成人综合网| 日产国产欧美视频一区精品| 99精品热视频| 日本欧美一区二区三区| 视频在线观看一区| 石原莉奈一区二区三区在线观看| 成人精品小蝌蚪| 成人一区二区三区| 成人夜色视频网站在线观看| 懂色av一区二区三区免费观看| 国产精品综合网| 国产一区欧美一区| 国产成人精品综合在线观看| 国产中文字幕精品| 国产精品亚洲综合一区在线观看| 国产99精品视频| 国产精品1区2区3区在线观看| 激情伊人五月天久久综合| 久久福利视频一区二区| 激情欧美日韩一区二区| 国产一区在线观看麻豆| 国产一区二区三区免费播放| 91麻豆蜜桃一区二区三区| 不卡大黄网站免费看| 国产成人综合网站| 成人网在线免费视频| 成人激情视频网站| 99精品欧美一区二区三区综合在线| 不卡一卡二卡三乱码免费网站| 99久久伊人网影院| 免费亚洲电影在线| 国产主播一区二区| av中文字幕一区| 日日摸夜夜添夜夜添亚洲女人| 日本亚洲视频在线| 国产在线精品免费av| 大桥未久av一区二区三区中文| 成人国产电影网| 日本不卡123| 国产精品一区在线| 国产精品99久久不卡二区| 成人综合激情网| 日韩精品成人一区二区在线| 久久成人免费网| jvid福利写真一区二区三区| 免费xxxx性欧美18vr| 高清在线成人网| 日韩精品一级二级| 国产suv一区二区三区88区| 91在线一区二区| 国产麻豆精品在线观看| 91丨九色丨尤物| 国产一区二区三区观看| 99re成人精品视频| 国产精品主播直播| 日韩电影免费一区| 成人性生交大合| 日本免费新一区视频| 粉嫩在线一区二区三区视频| 男人的天堂久久精品| 成人蜜臀av电影| 国内一区二区在线| 日韩 欧美一区二区三区| 国产91精品久久久久久久网曝门| 蜜乳av一区二区| 99久久亚洲一区二区三区青草| 国产一区二区女| 美女免费视频一区二区| 91香蕉视频污在线| 成人午夜激情视频| 国产精品69毛片高清亚洲| 麻豆高清免费国产一区| 日日夜夜精品视频免费| 99免费精品视频| 懂色av一区二区三区免费观看| 国内欧美视频一区二区| 日韩av电影天堂| 丝袜美腿一区二区三区| 成人av网站免费| 成人中文字幕在线| 国产超碰在线一区| 国产成人自拍网| 国产精品亚洲视频| 国产成人在线视频网址| 国产精品一区二区三区四区| 韩国v欧美v日本v亚洲v| 精品一区二区三区久久| 久久国产精品露脸对白| 美国十次了思思久久精品导航 | 夫妻av一区二区| 国产精品综合二区| 国产精品538一区二区在线| 国产乱国产乱300精品| 九色综合国产一区二区三区| 精品无码三级在线观看视频| 激情欧美日韩一区二区| 国产福利一区二区三区| 国产成人精品www牛牛影视| 国产不卡在线播放| 99久久99久久精品免费看蜜桃| 99久久综合国产精品| 日韩和欧美一区二区三区| 日本成人中文字幕| 狠狠色伊人亚洲综合成人| 国产美女主播视频一区| 国产传媒久久文化传媒| 懂色一区二区三区免费观看| 99热99精品| 奇米一区二区三区av| 国内精品免费在线观看| 国产宾馆实践打屁股91| 91一区二区在线| 久久国产精品99久久久久久老狼| 国产精品资源在线| 94色蜜桃网一区二区三区| 免费欧美日韩国产三级电影| 韩国精品在线观看| 波多野结衣在线一区| 免费视频一区二区| 国产白丝精品91爽爽久久| 日日夜夜精品免费视频| 国产麻豆精品一区二区| 91小视频在线观看| 国产乱码精品一区二区三| 成人深夜视频在线观看| 蜜臀精品一区二区三区在线观看| 国产一区二区精品久久99| 成人h动漫精品一区二区| 美日韩一区二区三区| 国产成人精品网址| 日本不卡的三区四区五区| 国产精品888| 日韩av一级片| 福利一区二区在线| 久久精品理论片| 不卡av免费在线观看| 国产一区美女在线| 日本成人中文字幕| 99久久精品免费| 国产自产v一区二区三区c| 91年精品国产| 国产成人免费xxxxxxxx| 另类专区欧美蜜桃臀第一页| 99久久久久久| 国产成a人亚洲精品| 久久精品国产久精国产| 视频在线在亚洲| 国产999精品久久久久久绿帽| 久久精品国产一区二区三区免费看| 成人h动漫精品一区二区 | 激情av综合网| 日韩精品成人一区二区在线| 成人精品一区二区三区中文字幕| 韩国理伦片一区二区三区在线播放| 91麻豆国产在线观看| 国产69精品久久久久毛片| 激情综合色播激情啊| 欧美aⅴ一区二区三区视频| 91视频.com| 99久久精品一区二区| 懂色av一区二区夜夜嗨| 国产激情偷乱视频一区二区三区| 麻豆精品一区二区| 日本不卡一二三区黄网| 92精品国产成人观看免费| 成人av午夜电影| 波多野结衣在线一区| 成人精品视频.| 成人午夜精品一区二区三区| 懂色中文一区二区在线播放| 国产传媒欧美日韩成人| 国产不卡在线播放| 福利一区二区在线| 成人激情小说网站| 99久久精品99国产精品| www.66久久| 日韩一区精品字幕| 裸体在线国模精品偷拍| 久久超级碰视频| 国产一区二区调教| 国产高清精品网站| 国产成人免费视频网站| www.av精品| 青青草国产成人av片免费| 久久国产三级精品| 国产精品456露脸| www.在线欧美| 日本麻豆一区二区三区视频| 久久精品国产99国产精品| 国产一区欧美一区| 成人免费看的视频| 91啪九色porn原创视频在线观看| 91麻豆6部合集magnet| 日韩精品一二三区| 国产一区二区三区日韩| 成人丝袜高跟foot| 青椒成人免费视频| 国产福利视频一区二区三区| 99视频一区二区三区| 另类欧美日韩国产在线| 国产精品亚洲第一区在线暖暖韩国| jlzzjlzz亚洲日本少妇| 日本不卡一区二区三区高清视频| 国产真实乱对白精彩久久| 粉嫩av一区二区三区| 奇米影视一区二区三区| 国产高清成人在线| 国产成人在线影院| 国产精品一区二区视频| 国产精品系列在线观看| gogo大胆日本视频一区| 美女精品一区二区| 成人国产精品免费| 久久国产精品无码网站| 成人av综合在线| 久久精品国产精品亚洲精品| 成人美女在线观看| 精品一区二区三区视频| 天堂一区二区在线| 国产精品一品视频| 日韩国产精品91| 国产成人午夜电影网| 免费观看在线综合色| 不卡视频一二三| 韩国av一区二区三区在线观看 | 懂色av一区二区在线播放| 日本va欧美va精品发布| 成人免费高清视频在线观看| 精品一区二区日韩| 日韩精品一二三区| www.激情成人| 丰满少妇久久久久久久| 国模大尺度一区二区三区| 日韩中文字幕一区二区三区| 福利一区在线观看| 国产一区二区在线免费观看| 美女视频黄久久| 日韩精品一卡二卡三卡四卡无卡| 成人免费高清在线| 国产成人av一区二区三区在线 | 日精品一区二区三区| 寂寞少妇一区二区三区| 日韩电影免费在线观看网站| 成人av一区二区三区| 国产寡妇亲子伦一区二区| 久久99精品一区二区三区| 日本少妇一区二区| 三级欧美在线一区| 91麻豆国产福利在线观看| 99精品视频在线观看| 成人av在线播放网站| 不卡视频在线看| www.亚洲人| 不卡视频一二三四| av在线不卡网| a在线播放不卡| 99视频在线精品| 91网上在线视频| 视频一区免费在线观看| 91在线视频18| 日本一区中文字幕 | 国产精品一区不卡| 国产激情一区二区三区| 国产乱码精品一区二区三区忘忧草| 久久97超碰国产精品超碰| 精品一二三四区| 国产精品一区二区三区乱码| 高清国产午夜精品久久久久久| 丁香桃色午夜亚洲一区二区三区| 国产成人8x视频一区二区 | 高清国产一区二区| 国产盗摄一区二区三区| 狠狠狠色丁香婷婷综合激情| 国产在线精品一区在线观看麻豆| 国产综合久久久久久鬼色| 国产毛片精品视频| 成人高清在线视频| 99精品热视频| 美腿丝袜一区二区三区| 国产一区二区精品久久91| 高清日韩电视剧大全免费| 99国产一区二区三精品乱码| 日本亚洲三级在线| 韩国成人福利片在线播放| 国产91丝袜在线播放九色| 99re视频精品| 久久精品国产免费| 大白屁股一区二区视频| 视频一区二区三区中文字幕| 国内精品伊人久久久久av一坑 | 国产成人在线观看| 99re这里只有精品6| 欧美aⅴ一区二区三区视频| 国产一区二区导航在线播放| 成人精品小蝌蚪| 蜜桃视频第一区免费观看| 国产91在线看| 蜜臀精品一区二区三区在线观看| 国产精品538一区二区在线| 丝瓜av网站精品一区二区| 黄色精品一二区| 97精品久久久午夜一区二区三区| 日韩av午夜在线观看| 国产成人av影院| 美女在线视频一区| 不卡的av网站| 国内精品久久久久影院一蜜桃| av在线不卡网| 国产精品99久久久久久久女警 | 免费av网站大全久久| 丁香天五香天堂综合| 久久精品国产秦先生| 97超碰欧美中文字幕| 国产成人一区在线| 久久99国产精品免费| 99免费精品视频| 国产酒店精品激情| 蜜桃久久久久久| 91美女片黄在线观看| 东方aⅴ免费观看久久av| 国内久久婷婷综合| 蜜臀久久99精品久久久久宅男 | 精品中文av资源站在线观看| 99久久精品免费精品国产| 国产大陆a不卡| 国产一区二区在线影院| 麻豆精品国产传媒mv男同| 91丨九色丨黑人外教| 不卡视频在线看| 国产91精品欧美| 国产福利91精品一区二区三区| 免费在线一区观看| 日本午夜一本久久久综合| 94色蜜桃网一区二区三区| 麻豆成人91精品二区三区| 99久久精品国产导航| 国产麻豆9l精品三级站| 久久精品99久久久| 蜜臀久久久久久久| 视频一区在线播放| 91蝌蚪porny成人天涯| 91在线国产福利| 91亚洲国产成人精品一区二三| thepron国产精品| 不卡的av在线播放| 99精品黄色片免费大全| 成人h精品动漫一区二区三区| 成人夜色视频网站在线观看| 成人a免费在线看| a在线欧美一区| 日欧美一区二区| 免费久久99精品国产| 久久99精品国产| 国产精品一区二区果冻传媒| 国产电影一区在线| 国产一区二区三区黄视频| 国产白丝精品91爽爽久久| 成人精品国产一区二区4080| 99精品久久99久久久久| 日韩不卡一区二区三区| 精品一区二区三区在线观看国产| 国产麻豆精品久久一二三| 成人av综合在线|