## Error 對象和try..catch語句
### 1.Error 對象
Javascript解析或者執行時,一旦發生錯誤,JavaScript引擎就會拋出一個錯誤對象。JavaScript原生的提供一個Error構造函數,所有拋出的錯誤都是這個構造函數的實例。
根據語言標準,Error對象示例必須具有message屬性,表示錯誤出現時的提示信息。對于大部分的Javascript引擎,對Error對象還提供name和stock屬性,分別表示錯誤的名稱和錯誤的堆棧信息,他們是非標準的,不是每一個Error實例都要去實現。
~~~javascript
f2();
function f1() {
console.log(abc);
}
function f2() {
f1();
}
~~~
觀察控制臺中的錯誤。
其中:“abc is not defined”是錯誤提示信息。
最下面的三行錯誤信息就是堆棧信息。
### 2.try...catch語句
為了對錯誤進行處理,我們需要使用try...catch結構。
允許在try...catch塊最后定義finally塊,表示不管是否出現錯誤,都必須要在后面運行的語句。
在finally塊中一般都是做一些清理的工作。
~~~javascript
function f1() {
;;;;;
try {
console.log("begin");
console.log(abc); // 一旦出錯,Javascript引擎就是構造一個Error對象
} catch(err) {
console.log(err.message);
} finally {
console.log("end");
}
~~~
- Hello World!
- 介紹
- 語句和變量
- 標識符、注釋和區塊
- 基本數據類型和引用數據類型
- 數據類型
- typeof
- number
- 字符串
- 布爾類型
- 函數
- 數組
- 運算符
- 加法運算符
- 算術、賦值、比較運算符
- 布爾運算符
- 語句
- 條件語句
- 循環語句
- DOM模型
- DOM和DOM節點
- 特征相關屬性
- 節點對象的方法
- Element對象
- Attribute對象
- Text節點和CSS操作
- 事件模型
- 標準庫
- Number對象
- String對象
- Array對象
- Date、Boolean和Math對象
- JSON對象
- 面向對象編程中的 this
- 一切皆對象
- Web Storage
- 錯誤處理機制
- Error對象和try..catch語句
- javascript的原生錯誤類型
- BOM模型
- window對象
- 計時事件