js中提供了异常处理机制,使js代码变得更健壮,执行的过程中即使出现异常,也可以让程序具备一部分异常恢复能力。
- 错误可能是语法错误,通常是编码错误或错别字。也可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)
一、异常捕获机制
1.try…catch语句
try{
//可能发生异常的代码
}
catch(error){
//发生错误执行的代码
}
- try语句中定义在执行时进行错误测试的代码块。只要有一行代码出现问题,则这行代码后面的语句都不会在执行。整个程序的执行流程就会立即吊到catch 语句中执行
- catch语句中定义当 try 代码块发生错误时,所执行的代码块。(在执行catch中的代码之前,js引擎会先根据错误类型自动创建一个错误,并通过catch后面的参数传递到catch中)
- catch中的代码执行完毕后,会继续执行后面的代码,程序不会停止下来
2.finally语句
<script>
try{
//抓异常的代码
}
catch(e){
throw e;//抛出异常
}
finally{
//最后的代码
}
</script>
- finally语句中防止我们必须执行的代码,finally 语句在 try 和 catch 之后无论有无异常都会执行
- catch 和 finally 语句都是可选的,但在使用 try 语句时必须至少使用一个
- 当错误发生时, JavaScript 会停止执行,并生成一个错误信息。使用 throw 语句 来创建自定义消息(抛出异常)。如果你将 throw 和 try 、 catch一起使用,就可以控制程序输出的错误信息