一、填空题
1.RuntimeException类及其子类用于表示运行时异常。
2.异常分为两种,分别是运行时异常和编译时异常。
3.throw关键字用于在方法中声明抛出异常的实例对象。
4.如果一个方法要抛出多个异常,可以使用throws关键字,每种异常之间用逗号隔开。
5.自定义异常需要继承Exception类。
二、判断题
1.Throwable有两个直接子类Error和Exception,其中Error代表程序中产生的异常,Exception代表程序中产生的错误。(错)
2.Java中的异常类都继承自java.lang.Throwable类。(√)
3.在处理异常时,try语句块中存放可能发生异常的语句。(√)
4.在一个异常处理中,finally语句块只能有一个或者可以没有。(√)
5.在Java语言中如果发生异常,但没有捕获异常的代码,程序会正常执行。(错)
三、选择题
1.在异常处理时,如释放资源关闭文件等由下列哪个语句完成。(C)
A、try B、catch C、finally D、throw
2.下列哪个类是所有异常类的父类。(A)
A、Throwable B、Error C、Exception
D、RuntimeException
3.下列异常声明中,正确的是(C)
A、publicvoidthrowsIOExceptionfun(){}
B、publicvoidfunthrowsIOException(){}
C、publicvoidfun()throwsIOException{}
Dpublicvoidfun()throwsIOException,throwsSQLException{}
4.以下关于编译异常说法正确的是(C)
A、编译异常就是指Exception以及其子类
B、编译异常如果产生,可以不用处理
C、编译异常如果产生,必须处理,要么捕获,要么抛出
D、编译异常指的就是Error
5.下面程序的运行结果是(A)classDemo{publicstaticvoidmain(String[]args){intx=div(1,2);try{}catch(Exceptione){System.out.println(e);}System.out.println(x);}publicstaticintdiv(inta,intb){returna/b;}}
A、输出0 B、输出1 C、输出0.5 D、编译失败
简答题
1.请写出处理异常的5个关键字。
try、catch、finally、throw、throws。
2.请简述try…catch语句的异常处理流程并画出流程图。
程序通过try语句捕获可能出现的异常,如果try语句没有捕获到异常,则直接跳出try…catch语句块执行其他程序;如果在try语句中捕获到了异常,则程序会自动跳转到catch语句中找到匹配的异常类型进行相应的处理。如果try语句捕获到的异常与catch语句例的异常匹配,则先执行catch中的语句,最后执行其他程序语句。
3.请简述处理编译时异常的有两种方式。
处理编译时期的异常有两种方式如下:
(1)使用try…catch语句对异常进行捕获处理。
(2)使用throws关键字声明抛出异常,调用者对异常进行处理。