异常课后习题

  1. 下面哪个说法正确?(B)

    A. Exception和Error都不能被处理

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

    C. Exception和Error都能被处理

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

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

    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 的区别是什么?

    (1) Exception:可以被Java 异常处理机制使用,是异常处理的核心。

    (2) Error:错误是有Java产生的,这种情况程序员无法通过代码处理。

  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 有什么区别 ?

    1.作用不同:throw用于在程序中抛出异常;throws用于声明在该方法内抛出了异常
    2.使用位置不同:throw位于方法体内部,可以作为单独语句使用;throws必须跟在方法参数列表的后面,不能单独使用。
    3.内容不同:throw抛出一个异常对象,而且只能是一个;throws后面跟异常类,而且可以跟多个异常类。
  2. final, finally, finalize的区别

    (1)final:Java的关键字,成员变量表示常量只能赋值一次赋值后其值不在改变
    (2)finally:Java的一个异常处理机制,只能在try/catch语句中并且附带着一个语句块,表示这段语句最终总会被执行
    (3) finalize:object类的一个方法,Java技术使用 finalize()方法在垃圾器将对象从内存中清除出去前,作必要的清理工作。
  3. 自定义异常类可以继承以下哪个类?(D)

    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 ();

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

推荐阅读更多精彩内容