这期内容当中小编将会给大家带来有关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和其子类
可处理可不处理,编译都可以通过,运行时会检测!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。