第六章检测题

  1. 下面哪个说法正确?b

    A. Exception和Error都不能被处理

    B. Exception可以被处理,Error无法处理

    C. Exception和Error都能被处理

    D. Exception不可以被处理,Error可以被处理

  1. 下面哪个是运行期异常?b

    A. Exception

    B. IOException

    C. RuntimeException

    D. SQLException

  1. 下面哪个是非运行期异常?(a)

    A. FileNotFoundException

    B. NullPointerException

    C. ClassCastException

    D. NumberFormatException

  1. 运行下列代码会发生什么异常? b

    String s=null;
    System.out.println(s.length());
    

    A. ArithmeticException

    B. NullPointerException

    C. ClassCastException

    D. NumberFormatException

  1. 运行下列代码会发生什么异常? a

    System.out.println(102/0);
    

    A. ArithmeticException

    B. NullPointerException

    C. ClassCastException

    D. NumberFormatException

  1. 异常的父类是哪个类 ?

    Throwable

  2. Exception 和 Error 的区别是什么?

    首先从继承方面来说,error和exception都是throwable的子类。所以从根本上可以理解为差不多的,程序出了问题就抛出。一般意义来讲,区别就是error比

    exception更严重,不易通过后续代码处理和修复,不应该被代码catch到的错误。而exception是指严重错误程度较轻的程序问题,相较于error更容易被后续 代码处理和修复的,有些需要通过try catch代码处理,有些不建议通过try catch代码处理

  3. 下面代码运行的结果是 ?d

    public class Example {
     public static void main(String[] args) {
         try {
             System.out.print(Integer.parseInt("forty"));
         } catch (RuntimeException e) {
             System.out.println("Runtime");
         } catch (NumberFormatException e) {
             System.out.println("Number");
         }
     }
    }
    

    A. 输出Number

    B. 输出Runtime

    C. 输出40

    D. 编译失败

  1. 请问以下哪个是声明一个方法抛出异常的正确形式?(a)

    A. void m() throws IOException{}

    B. void m() throw IOException

    C. void m(){} throws IOException

    D. void m(void) throw IOException{}

  1. 请问以下哪些关于try…catch…finally结构中的finally语句的描述是正确的?(c)

    A. 只有当一个catch语句获得执行后,finally语句才获得执行

    B. 只有当catch语句未获得执行时,finally语句才获得执行

    C. 如果有finally语句,return语句将在finally语句执行完毕后才会返回

    D. 只有当异常抛出时,finally语句才获得执行

  1. 关于异常处理,说法错误的是?b

    A. try…catch…finally 结构中,必须有try语句块,catch语句块和finally语句块不是必须的,但至少要两者取其 一

    B. 在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将子类放在后面,父类放在前面

    C. 一个方法可以抛出多个异常,方法的返回值也能够是异常

    D. Throwable是所有异常的超类

  1. throws 和 throw 有什么区别 ?

    throws是用于声明抛出了异常

    throw是程序中抛出异常

  2. final, finally, finalize的区别

    final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承

    finally是异常处理语句结构的一部分,表示总是执行

    finalize示是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例如关闭文件等

  1. 自定义异常类可以继承以下哪个类?b

    A. Throwable

    B. Exception

    C. IOException

    D. 以上均可

  1. 关于自定义异常类,以下哪个说法错误?(a

    A. throw后面只能抛出自定义异常对象

    B. 自定义异常类可以继承自Throwable类

    C. 自定义异常类可以重载构造方法

    D. 自定义异常类可以继承自Exception类及其子类

  1. 下面哪个选项能够正确抛出一个自定义异常MyException的对象?()c

    A. throw MyException ;

    B. throws MyException ;

    C. throw new MyException ();

    D. throws new MyException ();-

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容