Java中怎么处理异常类型

这期内容当中小编将会给大家带来有关Java中怎么处理异常类型,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

一、异常的描述

程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止。在Java中即,Java在编译或运行或者运行过程中出现的错误。

Java提供了更加优秀的解决办法:异常处理机制。

异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。

Java中的异常可以是函数中的语句执行时引发的,也可以是程序员通过throw 语句手动抛出的,只要在Java程序中产生了异常,就会用一个对应类型的异常对象来封装异常,JRE就会试图寻找异常处理程序来处理异常。

异常指在运行时期发生的不正常情况。

在java中用类的形式对不正常情况进行了描述和封装对象。

描述不正常情况的类,就成为异常类。

将正常代码和问题处理代码分离,提高阅读性。

其实异常就是java通过面向对象的思想将问题封装成了对象,用异常类对其进行描述。

二、异常的体系

两大类:

hrowable:可抛出的异常,无论是error还是exception,问题发生就应该可以抛出,让调用者知道并且处理。

该体系的特点就是在于Throwable及其所有的子类都具有可抛性。

可抛性到底指的是什么?怎么体现可抛性呢?

通过两个关键字来体现的。

throws throw 凡是可以被这两个关键字所操作的类和对象都具有可抛性。

子类1  一般不可处理的。————Error

特点:是由jvm抛出的严重性问题,这种问题发生一般不针对性处理,直接修改程序。

子类2)可以处理的。————Exception,问题抛给调用者,谁用抛给谁。

特点:子类后缀名都是用其父类名作为后缀名,阅读性很强!

范例:比如自定义一个负数角标的异常,使用面向对象思想封装成对象。

注意:如果让一个类称为异常类,必须要继承异常类。因为只有异常体系的子类才具有可抛性。

class FuShuIndex extends Exception{                 //构造函数 和类名一样                 FuShuIndex(){                   }                 //定义一个带参数的构造函数                 FuShuIndex(String msg){                     //调用Exception中的带参数异常函数                     super(msg);                   }             }             主函数 throws FuShuIndex:{                int[] arr = new int[3];                method(arr,-7);             }             public static int method(int[] arr,int index) throws arrIndexexception {                  if (index<0){                     throw new arrIndexexception("数组的角标不能为负数");                  }                 return arr[index];             }三、异常的分类:

编译时被检测异常还要是Exception和其子类都是,除了特殊子类RuntimeException体系未处理即编译失败!

这种问题一旦出现,希望在编译时就进行检测,让这种问题有相应的处理方式,这样的问题都可以针对性处理。

编译时不被检测异常(运行时异常):RuntimeException和其子类

可处理可不处理,编译都可以通过,运行时会检测!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。