今天主要针对js代码运行过程当中出现的异常及其处理方法简单的做出如下总结:浏览器
# 异常函数
## 异常的概念对象
异常就是程序在运行过程当中出现的错误.字符串
在 js 中出现异常后, 浏览器会给出一段错误码, 就是错误消息. 错误消息由错误类型与错误信息构成string
## 如何处理异常io
就是要出现异常后还能继续执行. 异常最大的特征是 一旦代码出现异常其后的代码就再也不执行.console
常见的异常有两大类:
1. 运行环境的多样性
2. 语法错误, 代码错误function
### 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();```