九、异常处理

一、请问什么是程序的健壮性?

答:是指程序在多数情况下能够正常运行,返回预期的正确结果;如果偶尔遇到异常情况,程序也能采取周到的解决措施。

二、请问Java异常处理机制有什么?

答:①try-catch:捕获异常;

②finally语句:任何情况下必须执行的代码;

③throws子句:声明一个方法可能会出现的异常;

④throw语句:抛出异常。

三、请问异常处理语句的语法规则有哪些?

答:①try代码块后面可以有零个或多个catch代码块,还可以有零个或至多一个finally代码块。

②try代码块后面只跟finally代码块;

③如果一个方法可能出现受检查异常,要么用try-catch语句捕获,要么用throws子句声明将它抛出,否则会导致编译错误。

④throw语句后面不允许紧跟其他语句,因为这些语句永远不会被执行。

四、请问异常流程的运行过程是什么?

答:①finally语句不被执行的唯一情况是先执行了用于终止程序的System.exit()方法。java.lang.System类的静态方法exit()用于终止当前的java虚拟机进程,java虚拟机所执行的java程序页随之终止。

②return语句用于退出本方法。

③finally代码块在return语句之前被执行,但fianlly代码块不能通过重新给变量赋值的方式来改变return语句的返回值。

五、请阐述一下java异常类。

答:所有异常类的祖先类为java.lang.Throwable类,它的实例表示具体的异常对象。

Throwable类有两个直接子类:

①Error类:表示单靠程序本身无法恢复的严重错误,比如内存空间不足,或者java虚拟机的方法调用栈溢出。在大多数情况下,遇到这样的错误,建议让程序终止。

②Exception类:表示程序本身可以处理的异常。当程序运行时出现这类异常,应该尽可能地处理异常,并且使程序恢复运行,而不应该随意终止程序。

六、请你简述一下你会遇到的异常?

答:①IOException:操作输入流和输出流时可能出现的异常。

②ArithmeticException:数学异常。如果把整数除以0,就会出现这种异常。

③NullPointerException:空指针异常。当引用变量为null时,试图访问对象的属性和方法,就会出现这种异常。

④IndexOutOfBoundsException:下标越界异常。

⑤ClassCastException:类型转换异常。

⑥IllergalArgumentException:非法参数异常。可用来检查方法的参数是否合法。

七、请你介绍一下运行时异常和受检查异常?

答:Exception类还可以分为两种:运行时异常和受检查异常。

①运行时异常是RuntimeException类及其子类,这种异常的特点是Java编译器不会检查它,也就是说,当程序中可能出现这类异常时,即使没有用try-catch语句捕获它,也没有用throws子句声明抛出它,也会编译通过。

②受检查异常:除了RuntimeException及其子类外,其他的Exception类及其子类都属于受检查异常。这种异常的特点就是Java编译器会检查它,也就是说,当程序中可能出现这类异常时,要么用try-catch语句捕获它,要么用throws子句声明抛出它,否则编译不会通过。

八、请问如何区分运行时异常和受检查异常?

答:受检查异常表示程序可以处理的异常,如果抛出异常的方法本身不能处理它,那么方法调用者应该去处理它,从而使程序恢复运行,不至于终止程序。

运行时异常表示无法让程序恢复运行时的异常,导致这种异常的原因通常是执行了错误操作。一旦出现了错误操作,建议终止程序。

九、请问如何区分运行时异常和错误?

答:相同点:java编译器都不会检查它们,当程序运行时出现它们,都会终止程序。

不同点:Error类及其子类表示的错误通常会由java虚拟机抛出的,在jdk中预定义了一些错误类。比如OutOfMemoryError和StackOutofMemoryError。

而RuntimeException类表示程序代码中的错误,它是可以扩展的,用户可以根据特定的问题领域,来创建相关的运行时异常类。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值