内容发布更新时间 : 2025/3/31 3:31:04星期一 下面是文章的全部内容请认真阅读。
如对您有帮助,欢迎下载支持,谢谢!
第6章 异常处理机制
一、选择题
1.下列关于异常的说法正确的是(B)。 A.异常是编译时的错误
B.异常是运行时出现的错误
C.异常就是程序错误,程序错误就是异常 D.以上都不对
2.下列哪个类是异常类的父类(根类)(A)。 A.Exception
B.ArithmeticException C.NullPointerException
D.ArrayIndexOutofBoundException
3.有关下列异常处理机制叙述正确的是(C)。
try{ 可能产生异常的语句块; }catch(exceptiontype1 e){ 处理异常e的语句块; }catch(exceptiontype2 e){ 处理异常e的语句块; } …… finally{
最终处理语句块; }
A.try子句可能有多个,catch子句可能有多个,finally子句必须有。
B. 多个catch参数中的异常类可以有父子关系,但父类异常的catch子句应该在子类异常的
catch子句前面。
C.如果try子句没有抛出任何异常,则跳过catch子句,转移到finally子句继续执行。 D.当try子句监视的语句块抛出异常时,运行时系统会根据catch子句的顺序,从第一个开始,
逐个查找能够捕获该异常的catch子句并执行catch子句内的语句块以完成对异常的处理,然后继续执行后面的catch子句,最后转移到finally子句,执行该子句中的语句块。
4.有关throw和throws的说法中不正确的是(C)。
A.throw的作用是抛出异常,后面加的是异常类的对象。
B.throws的作用是向外抛出异常即声明要产生的若干异常,后面加的是异常类的类名。 C.throws只能声明要产生的自定义异常,也就是后面只能加自定义异常类。 D.以上都不对。
5.下列程序运行结果是(C)。
public class E {
public static void main(String argv[]){ E m = new E();
System.out.println(m.amethod()); }
public int amethod(){
1
如对您有帮助,欢迎下载支持,谢谢!
int i, j=0; try { i=3/j; j++;
} catch (ArithmeticException e) { return j;
} catch (Exception e){
return 3; }
return 2; } }
A.1 B.2 C.0 D.3 6.下列程序运行的结果是(A)。 public class E {
public static void main(String argv[]){ E m = new E();
System.out.println(m.amethod()); }
public int amethod(){ try { int i, j=0; i=3/j;
} catch (ArithmeticException e) { System.out.println(\不能做除数\ return -1; } catch(Exception e){
return -1; } finally{
System.out.println(\ } return 0; } }
A.0不能做除数
Doing finally -1
B.0不能做除数
-1
Doing finally
C.0不能做除数Doing finally D.0不能做除数 -1
二.编程题
1.编写一个异常类MyException,再编写一个类Student,该类有一个产生异常的方法:
2
如对您有帮助,欢迎下载支持,谢谢!
public void speak(int m) throws MyException,要求参数m的值大于200时,方法输出信息 “参数的值大于200。”,否则抛出一个MyException对象。最后编写主类,在主类的main 方法中用Student创建一个对象s,该对象调用speak方法。 1.class MyException extends Exception { MyException(){ super(\ } }
class Student {
public void speak(int m) throws MyException { if (m>200) { System.out.println(\参数的值大于200。\ } else { throw new MyException(); } } }
class E {
public static void main(String[] args) { Student s = new Student(); try { s.speak(100); }catch(MyException e) { e.printStackTrace(); } } }
3