您的位置 首页 java

Java异常处理详解

尽管人人都希望所处理的事情能顺利执行,所操作的机器能正常运转,但在现实生活中总会遇到各种异常情况。在工作中也会频频出现异常情况。异常情况会改变正常的执行流程,导致恶劣的后果。为了减少损失,应该事先充分预计所有可能出现的异常情况,然后采取措施。

Java语言提供了一套完善的异常处理机制,正确使用这套机制,有助于提高程序的健壮性。今天就来聊一聊有关Java当中的这套异常处理机制。

什么异常?

简单地说,异常就是程序在执行过程中遇到的不正常的情况,该情况导致了程序的强制终止,然后将该不正常的情况返回,由程序的开发者进行处理。

异常的分类

想要搞清楚异常的分类,先来看一下异常的继承关系,这里一目了然地介绍了 Java 当中对于异常的类型介绍。

异常继承关系

Throwable类型: 它是Java语言中所有错误和异常的超类

Error类型:

Error类型

这里边有一个词叫做“合理的应用程序不应该视图捕获的严重问题”,在理解上可能不是特别友好。举个例子就明白了。比如死循环就是一种错误的情况,在语法上循环是很合理的,这种情况 JVM 不会去捕捉它的异常情况,但是死循环又确实是一种可能导致程序出现问题的一种情形。

Exception 类:

Exception是对程序异常情况封装的类型,该类型可以分为两种:

①、RuntimeException 运行期异常 。顾名思义,这类异常在程序编译期间不会被捕获,但是在程序执行期间才会出现的异常情况。这类异常通常是由于一些逻辑上的错误导致的,所以这类异常是可以避免的。常见的运行期异常包括: NullPointerException(空指针异常)、ClassCastException(类型转换异常)、IndexOutOfBoundsException(索引越界异常)等。

②、非RuntimeException ,也叫做 编译期异常。 它是在程序变异期间就会产生的异常,这种异常必须处理,否则编译不通过。常见的编译期异常包括: IOException(流传输异常)、SQLException(数据库操作异常)等。

异常的处理

在Java中处理异常的方式大概可以分为两种,分别是 捕获并处理异常、抛弃异常

①、捕获并处理异常。

通过try…catch…finally语句块进行捕获并处理,具体语法如下:

 try{
	语句体;
}catch(异常类型1 变量名1){
	处理异常;
}catch(异常类型2 变量名2){
	处理异常;
}.....
finally{
	代码块;
}  

由try模块包裹一段可能会出现异常的代码段,如果出现了异常,则会将该异常类型进行捕获,然后将这个异常类型与下边的catch模块一一比对,如果比对成功,则执行相应catch模块中的内容,反之如果比对不成功,则程序终止。

finally块中的内容则是不管程序是否出现异常,里边的内容都一定会被执行。一般会将释放资源的代码段放在其中。

②、抛弃异常。

抛弃异常是指方法中出现异常时暂时不想处理或者不能处理时则将异常暂时抛弃以保证程序暂时能够正常的运行。

通过throws关键字来抛弃异常,可以同时抛弃掉多个异常,中间使用逗号隔开, throws 要写在方法头的后边。例如:

 public void show()throws Exception{
 int  a = 3,b = 0;
 System.out.println(a/b);
}  

以上是对Java中的异常情况的总结,关注我,每天分享编程小知识!

文章来源:智云一二三科技

文章标题:Java异常处理详解

文章地址:https://www.zhihuclub.com/188786.shtml

关于作者: 智云科技

热门文章

网站地图