首页 > 试题广场 >

下列哪种异常是检查型异常,需要在编写程序时声明?

[单选题]
下列哪种异常是检查型异常,需要在编写程序时声明?
  • NullPointerException
  • ClassCastException
  • FileNotFoundException
  • IndexOutOfBoundsException
推荐
java中的异常通常分为编译时异常和运行异常。编译时异常需要我们手动的进行捕捉处理,也就是我们用try....catch块进行捕捉处理。对于运行时异常只有在编译器在编译运行时才会出现,这些不需要我们手动进行处理。对于A、 B、 D来说都是运行时异常,因此答案为C
编辑于 2015-06-19 16:32:30 回复(6)


1. 粉红色的是受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.受检查的异常必须在编译时被捕捉处理,命名为 Checked Exception 是因为Java编译器要进行检查,Java虚拟机也要进行检查,以确保这个规则得到遵守.
2. 绿色的异常是运行时异常(runtime exceptions),需要程序员自己分析代码决定是否捕获和处理,比如 空指针,被0除...
3. 而声明为Error的,则属于严重错误,如系统崩溃、虚拟机错误、动态链接失败等,这些错误无法恢复或者不可能捕捉,将导致应用程序中断,Error不需要捕捉。
发表于 2015-10-10 17:06:33 回复(39)
C,
发表于 2015-04-10 21:00:44 回复(0)
第二个异常是指类型转换异常
发表于 2018-07-04 10:50:14 回复(0)
Java异常类层次结构图:  通常,Java的异常(包括Exception和Error)分为 可查的异常(checked exceptions)和不可查的异常(unchecked exceptions) 。         可查异常(编译器要求必须处置的异常): 正确的程序在运行中,很容易出现的、情理可容的异常状况 。 可查异常虽然是异常状况,但在一定程度上它的发生是可以预计的,而且一旦发生这种异常 状况,就必须采取某种方式进行处理。       除了RuntimeException及其子类以外,其他的Exception类及其子类都属于可查异常。这种异常的特点是Java编译器会检查它,也就是说,当程序中可能出现这类异常,要么用try-catch语句捕获它,要么用throws子句声明抛出它,否则编译不会通过。       不可查异常(编译器不要求强制处置的异常):包括运行时异常(RuntimeException与其子类)和错误(Error)。
发表于 2016-11-27 14:19:02 回复(0)
C
发表于 2015-04-28 11:14:52 回复(0)
C
发表于 2015-04-14 16:22:20 回复(0)

Java异常类层次结构图:


通常,Java的异常(包括Exception和Error)分为 可查的异常(checked exceptions)和不可查的异常(unchecked exceptions)
       可查异常(编译器要求必须处置的异常): 正确的程序在运行中,很容易出现的、情理可容的异常状况 可查异常虽然是异常状况,但在一定程度上它的发生是可以预计的,而且一旦发生这种异常 状况,就必须采取某种方式进行处理。

      除了RuntimeException及其子类以外,其他的Exception类及其子类都属于可查异常。这种异常的特点是Java编译器会检查它,也就是说,当程序中可能出现这类异常,要么用try-catch语句捕获它,要么用throws子句声明抛出它,否则编译不会通过。

      不可查异常(编译器不要求强制处置的异常):包括运行时异常(RuntimeException与其子类)和错误(Error)。


发表于 2015-10-23 20:04:17 回复(6)
A:空指针异常
B:类转换异常
C:文件找不到异常
D :索引超出异常
A\B\D是运行异常,C检查型异常
发表于 2017-04-27 17:57:40 回复(0)
1、正确的选择是C.
2、撇去错误,JAVA中的异常分为编译异常和运行异常,前者需要在编码时显性用try catch捕捉,后者不强制要求。
3、A、B、D都是运行时异常,C是在用流对象(如file)读取文件时要求显性捕捉的。
发表于 2015-04-17 16:12:47 回复(0)
Java异常
  • 检查型异常(编译时异常 checked exceptions)
    • 需要在编写程序时声明
    • 需要我们手动的进行捕捉处理,也就是我们用try....catch块进行捕捉处理。或者在方法签名里通过throws子句声明
    • Throwable、Exception、IOException、ClassNotFoundException、CloneNotSupportedException、EOFException、FileNotFoundException、MalformedURLException、UnknownHostException
  • 运行异常(runtime exceptions)
    • 只有在编译器在编译运行时才会出现,这些不需要我们手动进行处理
    • 需要程序员自己分析代码决定是否捕获和处理,比如 空指针,被0除...
    • RuntimeException、ArithmeticException、ClassCastException、IllegalArgumentException、IllegalStateException、IndexOutOfBoundsException、NoSuchElementException、NullPointerException
  • Error
    • 属于严重错误,如系统崩溃、虚拟机错误、动态链接失败等,这些错误无法恢复或者不可能捕捉,将导致应用程序中断,Error不需要捕捉。
发表于 2018-09-15 18:40:48 回复(0)
答案是C   ABC都是继承于RuntimeException 的异常
发表于 2015-04-12 21:05:34 回复(0)

编辑于 2019-10-21 16:54:49 回复(0)
C
ABD是运行异常
发表于 2015-04-16 09:43:45 回复(0)
可以使用try catch捕获的异常都属于检查异常,其他的异常在程序运行期间才会暴露出来就是运行时异常
发表于 2021-04-22 21:04:21 回复(0)
发表于 2020-03-23 14:10:25 回复(1)
1、Java 基本上除了 File、SQL 相关的异常外,都是运行时异常

2、运行时异常不必显式声明
发表于 2018-04-20 16:05:31 回复(0)
答案是C
A、B、D都是运行时异常,C是编译时异常,需要用try-catch块进行处理
发表于 2015-07-11 20:09:38 回复(0)
分为错误和异常,异常⼜包括运⾏时异常、⾮运⾏时异常
 a. 错误,如StackOverflowError、OutOfMemoryError 
b. 异常:
 i. 运⾏时异常,如NullPointerException、IndexOutOfBoundsException,都是RuntimeException及其⼦类
 ii. ⾮运⾏时异常,如IOException、SQLException,都是Exception及其⼦类,这些异常是⼀定需要try catch捕获的
发表于 2023-09-26 19:23:20 回复(0)
C ABC都是运行时异常 
发表于 2015-04-15 09:35:44 回复(2)

粉色:检查型异常
蓝色:非检查型异常
编辑于 2023-08-24 09:46:51 回复(1)