首页 > 其他 > 详细

异常处理

时间:2019-11-01 19:44:40      阅读:64      评论:0      收藏:0      [点我收藏+]

我们写的程序在运行的过程中,常常会发生异常,导致程序无法得到我们想要的结果,我们也不知道问题究竟出在了那里,但是学习了异常之后,就会发现有些异常是可以避免的,我们也可以知道其产生的具体原因,而将异常处理应用于我们所写的程序中,会使我们写的程序更具有高效性和健壮性。(图源网络,侵删哦)

1.异常概述

异常:在程序开发过程中,可能存在各种错误,有些错误是可以避免的,而有些错误时意想不到的,Java中把这可能发生的错误称为异常。

如图所示为异常类的继承关系:

技术分享图片

 

 

 

 

 2.异常的分类

Java中捕获的异常分为可控式异常和运行时异常。

1)可控式异常:通常是可以预知的错误,在程序编译时就可以对程序中的错误进行处理,并给出具体错误信息。

常见的可控式异常:IOException  、SQLException、ClassNotFoundException、NoSuchFieldException、NoSuchMethodException。

2)运行时异常:不能被编译器检测到的异常。

常见的运行时异常:IndexOutOfBoundsException、NullPointerException、ArithmeticException、illegalArgumentException、ClassCastException。

 

3.获取异常信息

技术分享图片

 

 

 4.处理异常

1)try-catch处理异常

2)try-catch-finally处理异常

3)try-finally处理异常

一般来说:

try和catch之间的 {} 中是需要正常处理但又可能发生过异常的语句;

catch之后()内是需要处理的异常类型;

catch之后 {} 是对程序发生的异常处理的语句;

finally后的{}内的语句,如果JVM不关闭,无论程序是否发生异常都会被执行。

 技术分享图片

 

 

 技术分享图片

 

 

 

***注意***

以下四种特殊情况,finally块不会被执行

*在finally语句中发生了异常

*在前面的代码里里使用了System.exit()退出程序

*程序所在的线程死亡

*关闭CPU

5.抛出异常

处理异常除了使用try-catch等外,还可以使用throws声明或throw语句抛出异常。

1)使用throws声明抛出异常

throws 用来标明一个成员函数可能抛出的各种“异常”。出现在方法的声明中。

2)使用throw语句抛出异常

throw : 在方法中,将产生的异常抛出(强调的是动作),抛出的既可以是异常的引用,也可以是异常对象。

 

6.自定义异常

1)创建自定义异常,

创建自定义异常需要继承自Exception类,并提供一个含有String类型形参的构造方法,该形参就是异常的描述信息,该形参就是异常的描述信息, 可以通过getMessage()方法获得。

2) 使用自定义异常类

 

 技术分享图片

 

 

技术分享图片

技术分享图片

 

异常处理

原文:https://www.cnblogs.com/ywqtro/p/11774340.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!