首页 > 试题广场 >

对于一条try-catch语句的执行结果,下面哪一种说法是错

[单选题]
对于一条try-catch语句的执行结果,下面哪一种说法是错误的?
  • try子句执行没有引发任何异常,try-catch下面的语句继续执行
  • try子句引发了一个异常,该异常被某个catch子句捕获并处理.try-catch下面的语句继续执行
  • try子句引发了一个异常,但没有被任何一个catch子句捕获,此时try-catch语句引发异常,下面语句不能继续执行
  • 在catch子句中不能用throw语句引发异常
推荐
D。考察的是try-catch语句块的结构原理。
try-catch 语句块的目的是:当程序运行过程中发生异常错误时,就会“抛出异常',提供一个“ 捕获” 异常的处理器对异常情况进行处理,而避免终止程序执行。

语法结构如下:

try
{
    有可能出现异常错误的代码写在这里
}
catch
{
    出错后的处理
}

try-catch块下面的:
   其他语句1……
   其他语句2……
   …
  • A选项:没有引发异常,则 try-catch 语句块不起任何作用,程序由上至下依次执行。A正确
  • B选项:属于try-catch 的目的,抛出异常,捕获异常,顺序依次向下执行其他语句块。B正确
  • C选项:try-catch 未能抛出捕获异常,程序终止执行。C正确
  • D选项throw关键字的作用,有些错误在jvm看来不是错误(语法正确,但业务上不符,比如年龄为负数)而手动抛出异常。如下所示:catch子句中能用throw语句引发异常,所以D错误。
void ageMethod(int a) throws Exception1,Exception3{
           try{
                 ......
           }catch(Exception1 e){
              throw e;            //catch语句块中使用 throw
           }catch(Exception2 e){
              System.out.println("出错了!");
           }
编辑于 2019-08-30 14:14:14 回复(0)
选D catch中可以用throw语句引发异常
A选项:

B选项:

C选项:

D选项:

编辑于 2019-08-30 07:42:01 回复(0)