了解 JavaScript 中程序异常处理的方法,提升代码运行的健壮性。
异常处理,不是错误处理。
错误是程序员写代码出错了,出错了就得改。
异常:代码可能没有问题,其他外因造成的问题。遇到异常,多数都是给用户一个提示。
2.1 throw
异常处理是指预估代码执行过程中可能发生的错误,然后最大程度的避免错误的发生导致整个程序无法继续运行。
<script>
function counter(x, y) {
if(!x || !y) {
// throw '参数不能为空!';
throw new Error('参数不能为空!');
}
return x + y;
}
counter();
</script>
总结:
throw
抛出异常信息,程序也会终止执行(有点return的特点)throw
后面跟的是错误提示信息Error
对象配合throw
使用,能够设置更详细的错误信息- 小项目用不到,使用框架的时候,很少自己去抛出异常,框架都帮我们写好了。
try … catch
```javascript // ———————————— 异常两种抛出方式 ———————— // 手动(通过写代码)抛出异常 // throw new Error(‘错误的描述信息’)
// 自动抛出异常 // abc()
// ———————————- try … catch —————————- // try {} catch(e) {} // if {} else {} try { // 把需要执行的代码,放到try里面(尝试执行这些代码) console.log(‘aaa’) // abc() // 自动抛出异常(因为没有abc这个函数) throw new Error(‘这是一个未知的错误’) console.log(‘bbbbbbbbbbbb’) // 这行代码不会执行 } catch (e) { // 这里把异常捕获,e就是捕获的异常 // console.dir(e) console.log(e.message) // 错误描述信息 }
console.log(‘ccccccccc’) // 这里的代码能够执行 ``` 总结:
try...catch
用于捕获错误信息- 将预估可能发生错误的代码写在
try
代码段中 - 如果
try
代码段中出现错误后,会执行catch
代码段,并截获到错误信息