第一章 异常处理
一、选择题
1.java中用来抛出异常的关键字是
Atry  Bcatch  Cthrow Dfinally
2.关于异常,下列说法正确的是
A、异常是一种对象
B、一旦程序运行,异常将被创建
C、为了保证程序运行速度,要尽量避免异常控制
D、以上说法都不对
3.  )类是所有异常类的父类。
AThrowable     BError  CException  DAWTError
4.java语言中,下列哪一子句是异常处理的出口
Atry{}子句    Bcatch{}子句
Cfinally{}子句 D、以上说法都不对
5.下列程序的执行,说法正确的
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.下列程序的执行,说法正确的是
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 IllegalAccessException
  {
    System.out.println(“inside procedure”);
    throw____new___IllegalAccessException(“demo”);
  }
 public static void main(String args[])
  {
    try
      {
        procedure();
      }
      ___________
      {
        System.out.println(“捕获:”+e);
      }
    }
 
8.对于catch子句的排列,下列哪种是正确的( )
A、父类在先,子类在后
B、子类在先,父类在后
C、有继承关系的异常不能在同一个try程序段内
D、先有子类,其他如何排列都无关 
9.在异常处理中,如释放资源、关闭文件、关闭数据库等由( )来完成。
Atry子句          Bcatch子句
Cfinally子句        D编程语言有哪几种类、throw子句
10.当方法遇到异常又不知如何处理时,下列哪种说法是正确的( )
A、捕获异常          B、抛出异常
C、声明异常          D、嵌套异常
11.哪个关键字可以抛出异常?
Atransient  B finally  C throw   D static
12.一个异常将终止( )
A、整个程序          B、只终止抛出异常的方法
C、产生异常的try      D、×上面的说法都不对
二、填空题
1catch子句都带一个参数,该参数是某个异常的类及其变量名,catch用该参数去与____异常__对象的类进行匹配。
2java虚拟机能自动处理______RuntimeException_____异常。
3、捕获异常要求在程序的方法中预先声明,在调用方法时用try-catch-__finally____语句捕获并处理。
4java语言认为那些可预料和不可预料的出错称为__Throwable_____
5、按异常处理不同可以分为运行异常、捕获异常、声明异常和___自定义异常___几种。
6、抛出异常、生成异常对象都可以通过    Throws    句实现。
7、捕获异常的统一出口通过___finally____语句实现。
8java语言的类库中提供了一个___Throwable__类,所有的异常都必须是它的实例或它子类的实例。
9Throwable类有两个子类:______Error____类和Exception类。
10、对程序语言而言,一般有编译错误和____运行____错误两类。
11、下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。请在横线处填入适当的内容完成程序。
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.( t )java语言中的所有异常类都是java.lang.Throwable的子类。
5.( f ) 如果异常发生时,没有捕获异常的代码,程序会正常执行。
四、编程题
1.参考下面的程序,试修改程序,捕获相关异常,使得程序能正常运行。[提示:用错误数据测试,即可得到异常类名,运行时主方法参数输入 abc 测试]
public class StringIndexOutOf
{
public static void main(String args[])
{
System.out.println("字符串索引越界异常");
String str=args[0]; System.out.println(第四个字符为 +str.charAt(3));
int aa=Integer.parseInt(args[0]); System.out.println(平方为 +aa*aa);
}
}
2 从命令行得到5个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。
3.写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。
第二章 图形用户界面
一、判断题
1.BorderLayout 是面板的缺省布局管理器。( t )
2.当鼠标指针位于一个 GUI构件的边上时,发生一个 MouseOver 事件。(f )
3.一个面板(JPanel)不能被加入到另一个面板(JPanel)中。(  )
4.在 BorderLayout 中,添加到 NORTH 区的两个按钮将并排显示。( )
5.在使用 BorderLayout 时,最多可以使用 5 个构件。( )

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。