try...catch 语句

Posted 小花喵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了try...catch 语句相关的知识,希望对你有一定的参考价值。

一般情况下,我们很少用到 try...catch 语句,但是有时候为了测试代码中的错误,也有可能会用到。小白我也在工作中用到过。那么好的程序设计,什么时候会用到呢?

try...catch 一般用来捕获宿主对象或者ECMAScript抛出的异常。

1 try{
2   // 此处运次代码
3 } catch(err) {
4   // 此处处理代码
5 }


【注意】该语句严格区分大小写,使用大写字母会出错。

 

并且,try...catch...finally 为JS 实现错误处理:

try {
       tryStatements   // 必选项,可能发生错误的语句
} catch(exception) {  // exception 可选项,任何变量名,exception的初始化值是扔出的错误的值
       catchStatements   //可选项,处理在相关联的 tryStatement 中发生的错误的语句
} finally {
       finallyStatements   // 可选项,在所有其他过程发生之后无条件执行的语句
}

try...catch...finally 语句提供了一种方法来处理可能发生在给定代码块中的某些或全部错误,同时仍保持代码的运行。如果发生了程序员没有处理的错误,JS 只给用户提供它的普通错误消息,就好象没有错误处理一样。

tryStatements 参数包含可能发生错误的代码,而 catchStatement 则包含处理任何发生了的错误的代码。如果在 tryStatements 中发生了一个错误,则程序控制被传给 catchStatements 来处理。exception 的初始化值是发生在 tryStatements 中的错误的值。如果错误不发生,则不执行 catchStatements

如果在与发生错误的 tryStatements 相关联的 catchStatements 中不能处理该错误,则使用 throw 语句来传播、或重新扔出这个错误给更高级的错误处理程序。

在执行完 tryStatements 中的语句,并在 catchStatements 的所有错误处理发生之后,可无条件执行 finallyStatements 中的语句。

请注意,即使在 try 或 catch 块中返回一个语句,或在 catch 块重新扔出一个错误,仍然会执行 finallyStatements 编码。 一般将确保 finallyStatments 的运行,除非存在未处理的错误。(例如,在 catch 块中发生运行时错误)。

以上是关于try...catch 语句的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中try catch捕获异常的问题

javascript 中try catch 语句啥意思

若catch中抛出运行时异常,请问在try catch语句块中return语句是写在try中还是写在try catch语句外。

javascript 多层嵌套try catch问题

java中 try-catch语句

Java异常处理try...catch语句