java中非常范例及非常处置惩罚的细致引见【JAVA教程】,java,异常类型,异常处理
作者:搜教程发布时间:2019-12-02分类:JAVA教程浏览:31评论:0
一、异常完成及分类
1.先看下异常类的结构图
上图能够简朴展现一下异常类完成结构图,固然上图不是一切的异常,用户自身也能够自定义异常完成。上图已充足帮我们诠释和明白异常完成了:
java相干免费视频教程:java教授教养视频
1.一切的异常都是从Throwable继续而来的,它是一切异常的配合先人。
2.Throwable
有两个子类,Error
和Exception
。
个中Error是毛病,关于一切的编译时代的毛病以及体系毛病都是经由过程Error抛出的。这些毛病示意毛病发作于虚拟机自身、或许发作在虚拟机试图实行应用时,如Java虚拟机运转毛病(Virtual MachineError
)、类定义毛病(NoClassDefFoundError
)等。
这些毛病是不可查的,由于它们在应用顺序的掌握和处置惩罚才能之外,而且绝大多数是顺序运转时不允许涌现的状态。关于设想合理的应用顺序来讲,纵然确切发作了毛病,本质上也不应该试图去处置惩罚它所引发的异常状态。在 Java中,毛病经由过程Error的子类形貌。
3.Exception
是别的一个异常重要的异常子类。它划定的异常是顺序自身能够处置惩罚的异常。
异常和毛病的区别是,异常是能够被处置惩罚的,而毛病是没法处置惩罚的。
4.Checked Exception
可搜检的异常,这是编码时异常经常运用的,一切checked exception都是需要在代码中处置惩罚的。它们的发作是能够展望的,一般的一种状况,能够合理的处置惩罚,比方IOException
,或许一些自定义的异常。除了RuntimeException
及其子类之外,都是checked exception。
5.Unchecked Exception
RuntimeException
及其子类都是unchecked exception。比方NPE空指针异常,除数为0的算数异常ArithmeticException
等等,这类异常是运转时发作,没法预先捕捉处置惩罚的。Error也是unchecked exception,也是没法预先处置惩罚的。
二、异常的处置惩罚
代码中的异常处置惩罚实际上是对可搜检异常的处置惩罚。
1. 经由过程try...catch语句块来处置惩罚:
try { // 顺序代码 }catch(ExceptionName e1) { //Catch 块 }
Catch 语句包括要捕捉异常范例的声明。当庇护代码块中发作一个异常时,try 背面的 catch 块就会被搜检。
假如发作的异常包括在 catch 块中,异常会被通报到该 catch 块,这和通报一个参数到要领是一样。
2. 别的,也能够在细致位置不处置惩罚,直接抛出,经由过程throws/throw到上层再举行处置惩罚,细致的,假如一个要领没有捕捉到一个搜检性异常,那末该要领必需运用 throws 关键字来声明。
throws 关键字放在要领署名的尾部。也能够运用 throw 关键字抛出一个异常,不管它是新实例化的照样刚捕捉到的。
下面要领的声明抛出一个 RemoteException 异常:
import java.io.*; public class className { public void deposit(double amount) throws RemoteException { // Method implementation throw new RemoteException(); } //Remainder of class definition }
3. finally关键字
finally 关键字用来创建在 try 代码块背面实行的代码块。不管是不是发作异常,finally 代码块中的代码总会被实行。在 finally 代码块中,能够运转清算范例等扫尾善后性子的语句。
finally 代码块涌现在 catch 代码块末了,语法以下:
try{ // 顺序代码 }catch(异常范例1 异常的变量名1){ // 顺序代码 }catch(异常范例2 异常的变量名2){ // 顺序代码 }finally{ // 顺序代码 }
java相干文章教程引荐:java入门顺序
以上就是java中异常范例及异常处置惩罚的细致引见的细致内容,更多请关注ki4网别的相干文章!
相关推荐
- java经典面试题集锦(五)_JAVA教程,java,面试题
- java中的换行符是什么_JAVA教程,java,换行符
- Java中变量必须先定义后使用么_JAVA教程,java,变量
- java中怎么定义接口_JAVA教程,java,接口
- java中静态代码块有什么特点_JAVA教程,java,静态代码块
- java中return语句有什么作用_JAVA教程,java,return
- Java对文件的读写操作(图文详解)_JAVA教程,java
- java经典面试题集锦(四)_JAVA教程,java,面试题
- 八种基本数据类型分别是什么?_JAVA教程,java,基本数据类型
- java如何将字符串转为数组_JAVA教程,java,字符串,数组
你 发表评论:
欢迎- JAVA教程排行
-
- 1接口中只能定义常量和抽象方法,对么_JAVA教程,接口,常量,抽象方法
- 2java文件不能删除文件怎么办_JAVA教程,java
- 3系统提示javac:找不到文件_JAVA教程,系统,提示,javac,找不到,文件
- 4java中sleep的用法是什么?_JAVA教程,java,sleep
- 5java图片显示不出来怎么办_JAVA教程,java
- 6java后台乱码怎么办_JAVA教程,java
- 7javascript和java的区别是什么_JAVA教程,javascript,java
- 8java eclipse无法运行怎么办_JAVA教程,java
- 9Java中split()方法怎么用_JAVA教程,java,spilt,用法
- 最新文章
- 广而告之