try/catch/finally定义
try/catch/finally 语句用于处理代码中可能出现的错误信息。错误可能是语法错误,通常是程序员造成的编码错误或错别字。也可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。
try语句允许我们定义在执行时进行错误测试的代码块。
catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
finally 语句在 try 和 catch 之后无论有无异常都会执行。
注意:catch 和 finally 语句都是可选的,但你在使用 try 语句时必须至少使用一个
当错误发生时, JavaScript 会停止执行,并生成一个错误信息。使用 throw 语句 来创建自定义消息(抛出异常)。如果你将 throw 和 try 、 catch一起使用,就可以控制程序输出的错误信息。
例1
try{
console.log('a')
console.log(b)
console.log('c')
}
catch(e) {
}
finally{
console.log('d')
}
上边代码会在控制台打印 a和d 在try里边执行发生错误,不会执行错误后边try里边的代码
例2
try{
console.log('a')
console.log(b)
console.log('c')
}
catch(e) {
//e.message错误信息
//e.name错误的名称
console.log(e.message + "/" +e.name)
}
finally{
console.log('d')
}
上边代码会在控制台打印 a,b is not defined / ReferenceError:,d catch会捕捉到try里边发生的的错误信息(如果try里边的代码执行没有发生错误,则不会触发catch)
Error的六种错误名称
1、EvalError:eval() 的使用与定义不一致(不允许使用,会改变作用域)
2、RangeError: 数值越界
3、ReferenceError:非法或不能识别的引用数值
4、SyntaxError: 发生语法解析错误
5、TypeError:操作数据类型错误
6、URLError:URL处理函数使用不当