在 JavaScript 中,每一个 try 语句后面都可以对应一个 catch 语句,同时,每一个 try 语句后面,还可以对应一个 finally 子句,当然,也可以不带 finally 字句,如果带 finally 字句,那么 finally 字句最多只能带一个。
try 字句后面的 finally 子句用来表示,不管前面的代码如何执行了,一定要执行的代码那么我们可以将其放在 finally 子句里,即使是没有触发异常,即没有执行 catch 的代码,那么 finally 字句的代码一定也会执行。
try{ // 需要检测异常的代码 }catch(error){ // 处理异常的代码 }finally{ // 一定要执行的语句 }
说明
我们在异常捕获时,将一定要执行的代码放在 finally 语句中。
案例
JavaScript try catch finally语句捕获异常
我们在异常处理时,将一定要处理的代码放在 finally 中
<!DOCTYPE html> <html> <head> <title>JavaScript try catch</title> <script type="text/javascript"> console.log("嗨客网(www.haicoder.net)"); try{ var array = new Array(20); }catch(error){ console.log("Error =", error); }finally{ console.log("Call finally"); } console.log("Over"); </script> </head> </html>
程序运行后,控制台输出如下:
我们使用 new 创建了一个数组 array,同时,我们使用了 try catch finally 语句将创建数组的代码使用了异常捕获包围,最后我们运行该程序,程序正常运行,没有走到 catch 语句。
同时,我们可以看到,程序输出了 finally 语句的内容。现在,我们将程序修改如下,触发异常:
<!DOCTYPE html> <html> <head> <title>JavaScript try catch</title> <script type="text/javascript"> console.log("嗨客网(www.haicoder.net)"); try{ var array = new Array(-20); }catch(error){ console.log("Error =", error); }finally{ console.log("Call finally"); } console.log("Over"); </script> </head> </html>
程序运行后,控制台输出如下:
这时,我们可以看到,程序触发了异常,同样走到了 finally 语句的内容,因此,我们可以看到,不管程序触发或者不触发异常,都会走到 finally 语句的内容。
JavaScript try catch finally异常捕获教程总结
try 字句后面的 finally 子句用来表示,不管前面的代码如何执行了,一定要执行的代码那么我们可以将其放在 finally 子句里,即使是没有触发异常,即没有执行 catch 的代码,那么 finally 字句的代码一定也会执行。