錯誤處理
錯誤分類
語法錯誤:
程式不能執行,是在執行之前,檢查語法的時候,就發現語法出錯,結果是提示錯誤,不執行程式。
執行時錯誤:
語法檢查沒錯,然後開始執行,在執行**現了錯誤,然後報錯。
這是開發中最常見的錯誤。
邏輯錯誤:
程式能執行,且一直到結束沒有報錯,但執行得到的結果卻是錯的。
常見錯誤代號(重點)
含義:是指在程式執行時,發生的錯誤,系統會針對每種錯誤,給出相應的錯誤代號,並進行提示(報錯)。
另外,程式如果在執行之前檢查語法的時候就發現語法錯誤,也會報錯,也有乙個錯誤代號。
常見錯誤代號有:
e_notice:
提示性錯誤,輕微;
錯誤發生後,後面的程式繼續執行。
e_warning:
警告性錯誤,稍微嚴重;
錯誤發生後,後面的程式繼續執行。
e_error:
嚴重錯誤/致命錯誤;
錯誤發生後,後面的程式不再執行!
e_parse:
語法錯誤(語法解析錯誤);
語法解釋錯誤,是直接就不執行程式。
e_user_notice:
使用者自定義的提示錯誤
e_user_warning:
使用者自定義的警告錯誤
e_user_error:
使用者自定義的嚴重錯誤
e_all:
它是乙個代表「所有」錯誤的代號。
說明:1,這些錯誤代號,其實只是系統預先設定的一些常量,他們的值大約是:1, 2, 4, 8, 16.....
2,這些錯誤代號,通常只是用於對錯誤控制時進行「設定」使用。
3,他們是一系列的整數,並具有一定的規律:1,2,4,8,16,32,64, 。。。。
4,可以在php.ini中使用(設定)他們,如下所示:
錯誤觸發
就是發生了乙個錯誤的意思——即觸發了錯誤。
有兩種情形會觸發錯誤:
1,程式本身有錯,則執行時就會觸發錯誤(並提示)。
2,程式本身沒錯,但出現不符合預計的情形(比如資料不符合要求)。
此時程式設計師可以主動觸發乙個錯誤,也可以說是由程式設計師「主動建立乙個錯誤」
——這就是「使用者錯誤」,包括:
e_user_notice:
e_user_warning:
e_user_error:
如何觸發「使用者錯誤」呢?
自定義錯誤觸發語法:
trigger_error(「自定義錯誤提示內容」, 自定義錯誤的代號);
案例演示:
輸入乙個年齡(簡化為變數值),如果年齡超過60或小於0,就觸發乙個notice錯誤!
php基礎第五天
今天說的是由關字串的一些相關的內建函式 分隔字串用explode 以什麼進行分隔 str 最後得到的是分隔後的陣列 字串的合併 implode 以什麼進行連線合併 arr 是將陣列進行合併成字串 比較兩個字串的大小 strcmp str1,str2 區分大小寫字母 替換字串 str replace ...
國慶第五天
直接在寢室待了乙個上午 一 matlab 試了一下昨天安裝的matlab2010b發現檔案都打不開,報這個錯 undefined function or method uiopen for input arguments of type char 二 c 1.找到了個之前 裡的乙個問題 把本週開頭和...
集訓第五天
今天學習了乙個快速指數冪取餘的演算法。就拿一道題來說明 description 上初中的時候我們就學會了冪乘運算,可是我們卻不知道對於高階的冪乘,出結果的方法比較慢,那麼你有什麼更好的方法嗎?input 第1行,乙個整數n 1 n 1000 表示要計算的資料組數 第2 n 1行,每行兩個整數,第1個...