2017.9.26

學習記錄:

錯誤處理

在執(zhí)行代碼的時候會出現(xiàn)問題,他有兩種可能:

一種就是程序的邏輯有問題,執(zhí)行代碼異常,

另一種就是程序可能遇到無法預測的異常情況而報錯,例如,網(wǎng)絡連接中斷,讀取不存在的文件,沒有操作權限等。

對于第二種錯誤,我們必須處理它,并且需要給用戶進行反饋。

在javascript中,我們使用try...catch...finally進行錯誤處理。

var r1, r2, s = null;

try {

r1 = s.length; // 此處應產生錯誤

r2 = 100; // 該語句不會執(zhí)行

} catch (e) {

alert('出錯了:' + e);

} finally {

console.log('finally');

}

console.log('r1 = ' + r1); // r1應為undefined

console.log('r2 = ' + r2); // r2應為undefined

也就是說,整個執(zhí)行流程:

1.首先執(zhí)行try..;

2.執(zhí)行到語句出錯時,后續(xù)語句不再執(zhí)行,而去執(zhí)行catch(e)...代碼。

3.然后執(zhí)行finally...代碼。

錯誤類型:

Js中用Error對象表示錯誤,還有從Error派生的TypeError,ReferenceError等錯誤對象。我們一般都用Catch(e)來捕獲變量e的訪問錯誤對象。

拋出錯誤:

程序可以直接拋出一個錯誤,讓執(zhí)行直接跳轉到catch快。拋出的錯誤使用throw語句。


當我們編寫程序時,因為catch到錯誤卻什么都不干,所以我們必須編寫錯誤的處理語句。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容