标签:
今天主要针对js代码运行过程中出现的异常及其处理方法简单的作出以下总结:
# 异常
## 异常的概念
异常就是程序在运行过程中出现的错误.
在 js 中出现异常后, 浏览器会给出一段错误码, 就是错误消息. 错误消息由错误类型与错误信息构成
## 如何处理异常
就是要出现异常后还能继续执行. 异常最大的特征是 一旦代码出现异常其后的代码就不再执行.
常见的异常有两大类:
1. 运行环境的多样性
2. 语法错误, 代码错误
### try-catch 语法
即尝试这么做, 如果出现错误捕获错误
```
...
try {
可能出现错误的代码
} catch( e ) {
处理错误的代码
}
...
```
1. 代码正常运行, 如果在 try 中出现了错误, try 里面出现错误的语句后面的代码都不再执行, 直接跳转到 catch 中
2. catch 中处理错误信息
3. 然后继续执行后面的代码
4. 如果 try 中没有出现错误, 那么不走 catch 直接执行后面的代码
## 如何抛出异常
```
throw 对象
```
1. throw 是抛出异常的语法, 其后跟一个对象, 即错误消息对象
2. 一般该对象使用 `new Error( ‘错误消息‘ )` 来创建. 也支持任意的对象.
```
function showMessage ( msg ) {
// 要显示一段文本, 所以我做一个限制
if ( typeof msg !== ‘string‘ ) {
throw new Error( ‘传入的参数不是一个字符串‘ );
}
// 是正常的
console.log( msg );
}
```
## 补充
1. try-catch 语法的最终结构是 try-catch-finally
```
try {
可能出现错误的代码
} catch ( e ) {
如果出现错误就执行
} finally {
结束 try 这个代码块之前执行, 即最后执行
}
```
2. 层级传递
```
function f1 () {
f2(); // f1 称为调用者, 或调用函数, f2 称为被调用者, 或被调用函数
}
function f2 () {
f3();
}
function f3() {
throw new Error( ‘error‘ );
}
f1();
```
标签:
原文地址:http://www.cnblogs.com/h-jj/p/5747645.html