「这是我参与11月更文挑战的第18天,活动详情查看:2021最后一次更文挑战」
每个浏览器在发生JavaScript错误时的行为都或多或少有一些差异。有的会显示小图标,有的则什么动静都没有,浏览器对JavaScript错误的这些默认行为对最终用户而言,毫无规律可循。最理想的情况下,用户遇到错误搞不清为什么,他们会再试着重做一次,最糟糕的情况下,用户会恼羞成怒,一去不复返了。良好的错误处理机制可以让用户及时得到提醒,知道到底发生了什么事,因而不会惊慌失措。为此,作为开发人员,我们必须理解在处理JavaScript错误的时候,都有哪些手段和工具可以利用
其中就有try catch
try catch主要用于捕获错误代码的,解决当某些代码出错时而导致后续代码终止的问题 格式:
try {
//tryCode - 尝试执行代码块
}
catch(err) {
//catchCode - 捕获错误的代码块
}
finally {
// finallyCode - 无论 try / catch 结果如何都会执行的代码块
}
几点得注意:
- try里放置可能出错的代码块
- try里面的代码发生错误时,不会执行try里面错误代码之后的代码了,而会继续try外的其他代码
- catch用于捕获错误信息,里面里放置是当 try 代码块发生错误时所执行的代码块
- finally最终都会执行的代码块
- catch 和 finally 语句都是可选的,但至少有一个跟try配合使用。
在catch语句中,其中有个参数error,打印出来看看:
try {
console.log(a);
} catch (error) {
console.log(error);//ReferenceError: a is not defined
console.log(error.name);//ReferenceError
console.log(error.message)//a is not defined
}
其实参数就是包好的错误对象,主要包括两部分:
1. error.name:错误信息名
2. error.message:详细错误信息
error.name有六种对应信息:
1. EvalError:eval()的使用错误
2. RangeError:范围越界
3. ReferenceError:非法或者不能识别的引用数值
4. SyntaxError:发生语法解析错误
5. TypeError: 类型错误
6. URIError:URI处理函数使用不当