笔试_异常处理

来源:互联网 发布:朝核危机 知乎 编辑:程序博客网 时间:2024/05/16 17:03

一、选择题

1.java中用来抛出异常的关键字是  (C)

Atry   

Bcatch   

Cthrow  

Dfinally

 

2.关于异常,下列说法正确的是 (A)

A、异常是一种对象

B、一旦程序运行,异常将被创建

C、为了保证程序运行速度,要尽量避免异常控制

D、以上说法都丌对

 

3.C类是所有异常类的父类。

AThrowable     

BError   

CException   

DAWTError

 

4.java语言中,下列哪一子句是异常处理的出口 (C)

Atry{}子句     

Bcatch{}子句

Cfinally{}子句  

D、以上说法都丌对

 

5.下列程序的执行,说法错误的是 BCD  (C)

public class MultiCatch

 {

   public static void main(String args[])

     {

       try

          {

            int a=args.length;

            int b=42/a;

            int c[]={1};

            c[42]=99;

            System.out.println(“b=”+b);

          }

       catch(ArithmeticException e)

          {

             System.out.println(“除0异常:”+e);

           }

       catch(ArrayIndexOutOfBoundsException e) {

             System.out.println(“数组超越边界异常:”+e);

            }

           }

    }

A、程序将输出第15行的异常信息

B、程序第10行出错

C、程序将输出“b=42

D、程序将输出第1519行的异常信息

 

6.下列程序的执行,说法正确的是 D

class ExMulti

{

  static void procedure()

  {

    try

     {

      int c[]={1};

      c[42]=99;

     }

    catch(ArrayIndexOutOfBoundsException e)

     {

       System.out.println(“数组超越界限异常:”+e);

     }

   }

    public static void main(String args[])

    {

      try

        {          

procedure();

          int a=args.length;

          int b=42/a;

          System.out.println(“b=”+b);

         }

       catch(ArithmeticException e)

         {

           System.out.println(“除0异常:”+e);

         }

       }

   }

A、程序只输出第12行的异常信息

B、程序只输出第26行的异常信息

C、程序将不输出异常信息

D、程序将输出第12行和第26行的异常信息

 

7.下面程序抛出了一个“异常”并捕捉它。请在横线处填入适当内容完成程序。

class TrowsDemo

{

  static void procedure() throws IllegalAccessExcepton

  {

    System.out.println(“inside procedure”);

    throw__new_____IllegalAccessException(“demo”);

  }

 public static void main(String args[])

   {

     try

      {

        procedure();

      }

catch(IllegalAccessExcepton e) ___________

      {

        System.out.println(“捕获:”+e);

      }

    }

  

8.对于catch子句的排列,下列哪种是正确的(B )  

A、父类在先,子类在后  

B、子类在先,父类在后  

C、有继承关系的异常不能在同一个try程序段内  

D、先有子类,其他如何排列都无关    

 

9.在异常处理中,如释放资源、关闭文件、关闭数据库等由(C )来完成。  

Atry子句           

Bcatch子句  

Cfinally子句         

Dthrow子句  

 

10.当方法遇到异常又不知如何处理时,下列哪种说法是正确的(C )  

A、捕获异常           

B、抛出异常  

C、声明异常           

D、嵌套异常  

 

11.哪个关键字可以抛出异常? C 

Atransient   

Bfinally   

Cthrow    

Dstatic  

12.一个异常将终止( A)

A、整个程序           

B、叧终止抛出异常的方法

C、产生异常的try块       

D、×上面的说法都丌对  

 

二、填空题 Java异常处理

1catch子句都带一个参数,该参数是某个异常的类及其变量名,catch用该参数去与

__抛出异常出现异常_____对象的类进行匹配。

 

2java虚拟机能自动处理_运行_运行异常_____异常。

 

3、变量属性是描述变量的作用域,按作用域分类,变量有局部变量、类变量、方法参

数和__异常处理参数_____

 

4、捕获异常要求在程序的方法中预先声明,在调用方法时用try-catch-_finally_____语句捕

获并处理。

 

5java语言认为那些可预料和不可预料的出错称为____异常_____

 

6、按异常处理不同可以分为运行异常、捕获异常、声明异常和_抛出异常_____几种。

 

7、抛出异常的程序代码可以是_自定义的异常_____或者是JDK中的某个类,还可以是JVM.

 

8、抛出异常、生成异常对象都可以通过__throw ___语句实现。

9、捕获异常的统一出口通过___finally______语句实现。

 

10java语言的类库中提供了一个___Throwable_______类,所有的异常都必须是它的实例或它子类的实例。

 

11Throwable类有两个子类:Error___类和Exception类。

 

12、对程序语言而言,一般有编译错误和__运行____错误两类。

 

13、下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。请在横

线处填入适当的内容完成程序。

public class HelloWorld

{

  int i=0;

  String greetings[]=   {

       “Hello world!”,

        “No,I mean it!”,

        “HELLO WORLD!!”

     };

 while(i<4)

   {

    ____try________

{

System.out.println(greeting[i]);

}

____catch__(ArrayIndexOutOfBoundsException e)

{

System.out.println(“Re-setting Index Value”);

i=-1;}

finally

 {

   System.out.println(“This is always printed”);

 }

i++;

}

}

 

三、判断题

1. ( F ) 程序中抛出异常时(throw),只能抛出自己定义的异常对象。

2. ( T ) 一个异常处理中 finally语句块只能有一个或者可以没有。

3.( T )异常类对象代表当前出现的一个具体异常。

4.( F ) 如果异常发生时,没有捕获异常的代码,程序会正常执行。

原创粉丝点击