1.异常定义
/*
异常:是在运行时发生的不正常情况
在 java 中用类的形式对不正常的情况进行了描述和封装
描述不正常情况的类就叫做异常类。
以前正常流程代码和问题处理代码相结合。
现在将正常流程代码和问题处理代码相分离,提高阅读性。
其实异常就是java通过面向对象的思想将问题封装成了对象,
用异常类对其描述。
不同的问题用不同的类进行描述,比如角标越界,空指针等等。
问题很多,意味着描述的类也很多。
将其共性进行向上抽取,形成了异常体系。
分成两大类:
Throwable:可抛 所有的子类都具有可抛性
1.一般不了处理的(Error类):
特点: 是由 jvm 抛出的严重性的问题,影响到程序的执行。
一般不针对性处理,而是直接修改程序。
2.可处理的(Exception):
可抛行的体现:
两个关键字:
1.thows
2.thow
凡是被这两个关键字所操作的类和对象都具备可抛性。
异常的分类:
1.编译时被检测的异常,只要是exception 和其子类都是,除了特殊子类runtimeexception体系
一般可以对应处理
2.运行时异常,就是exception中的runtimeexception 和其子类。
一般是由调用的原因或者引发的内部状态的改变而导致的。只能对代码进行修正
*/
class Exception
{
public static void main(String[] args)
{int[] arr =new int[3];
System.out.println(arr[3]);//异常
}
}
2.异常的处理方式
/*
异常处理的捕捉形式:
这是可以对异常进行针对性的处理的方式
具体格式是:
try
{
//需要被检测的代码
}
catch(异常类 变量)//该变量用于接收发生的异常对象
{
处理异常的代码
}
finally
{
一定会被执行的代码
}
*/
class Exception
{
public static void main(String[] args)
{int[] arr =new int[3];
System.out.println(arr[3]);//异常
}
}