try和catch的用法

268 阅读1分钟

try/catch 语句用于处理代码中可能出现的错误信息。通常是程序员造成的编码错误或错别字,也可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。 如果没有try/catch 的话,就有可能出现异常导致程序崩溃,而try/catch 则可以保证程序的正常运行。 举个例子,当除数为0时,编译不会报错,但是如果没有try/catch的话,程序直接崩溃。用try/catch的话,则可以让程序运行下去,并且能够输出出错的原因。

语法

try {
   尝试执行的代码块
}
catch (异常类型1 异常的变量名1) { 
   捕获错误的代码块1
}
...
catch (异常类型2 异常的变量名2) {
   捕获错误的代码块2
}
finally {
   最终执行的代码块
}

注意:

catch 和 finally 语句都是可选的,但你在使用 try 语句时必须至少使用一个。catch 可以有多个,当所有的 catch 都不满足时,再执行 finally 里的代码。

多重捕获块

一个 try 代码块后面跟随多个catch代码块的情况就叫多重捕获。

  1. 如果 try 代码块中发生异常,异常被抛给第一个 catch 块。
  2. 如果抛出异常的数据类型与 ExceptionType1 匹配,它在这里就会被捕获。
  3. 如果不匹配,它会被传递给第二个 catch 块。
  4. 如此,直到异常被捕获或者通过所有的 catch 块。

简单说,try catch用于捕捉报错,当你不关心哪一步错误,只关心有没有错,就用try catch。