首页 > 试题广场 >

对于Java中异常的描述正确的是()

[单选题]

对于Java中异常的描述正确的是()

  • 用throws定义了方法可能抛出的异常,那么调用此方法时一定会抛出此异常。
  • 如果try块中没有抛出异常,finally块中的语句将不会被执行。
  • 可不检测(unchecked)异常:包括运行时异常(RuntimeException与其子类)和错误(Error)。
  • 抛出异常意味着程序发生运行时错误,需要调试修改
D没毛病啊,文字游戏?
发表于 2019-11-23 18:29:36 回复(0)
A : 使用throws声名异常, 只是可能抛出该异常
B : finally语句不会执行的三种情况 : (摘抄自别的答案, 具体出处不知道了)
    1. 在执行finally语句块之前JVM退出或崩溃, (包括调用System.exit(0); 该函数的作用便是中止JVM的调用)
    2. try死循环
    3. 电源断电
C :
异常可以分为检查异常和非检查异常.
检查异常顾名思义就是需要进行检查的异常, 需要使用try catch捕获或者throws抛出. (除去runtimeException及其子类的exception及其子类)
非检查异常 : runtimeException 及其子类, 还有Error(Error也属于异常, 并且属于非检查异常)
D: 只要是异常,都可以进行捕获抛出.(不是只有运行时异常可以抛出)
发表于 2019-10-16 21:16:37 回复(0)
1. 首先分析选项A: - 用 throws 定义了方法可能抛出的异常,只是声明了这个方法可能会抛出这些异常,但调用此方法时不一定会抛出此异常。所以选项A错误。 2. 接着看选项B: - 不管 try 块中是否抛出异常, finally 块中的语句都会被执行(除非在 finally 块执行之前程序通过 System.exit() 等方式终止)。所以选项B错误。 3. 再看选项C: - 可不检测( unchecked )异常包括运行时异常( RuntimeException 与其子类)和错误( Error ),这是正确的。这些异常不需要在方法声明中使用 throws 显式抛出(当然也可以抛出)。所以选项C正确。 4. 最后看选项D: - 抛出异常并不一定意味着程序发生运行时错误,有些异常是可以合理处理的正常情况。所以选项D错误。 答案是C。
发表于 2024-10-26 09:16:32 回复(1)