js中的try-catch-finally和throw(错误的捕获和抛出)
什么情况下适合使用错误的捕获和错误的抛出?
我觉得应该捕获那些你确切地知道该如何处理的错误,捕获错误的目的在于避免浏览器以默认方式处理它们(比如不友好的提醒、代码终止,界面卡住或者崩溃),而抛出错误的目的在于提供错误发生具体原因的消息,以提示我们更准确的处理他们。
方法
捕获错误:try-catch-finally
抛出错误:throw
使用方法
捕获
例:
try{
// 可能会导致错误的代码
// 如果发生错误则停止执行,并反馈error对象给catch
// 然后执行catch里面的代码
} catch(error){
// 在错误发生时怎么处理
// 错误发生时才会执行的代码
} finally {
// 无论错误与否都会执行的代码
// 包括try catch里面的return语句也会被忽略
}
抛出
例:
// 抛出一个通用错误
throw new Error('This is a error message'