package day11;
public class ExceptionDemo {
/* 异常
异常的体系
Throwable Error 通常出现重大问题如,运行的类不存在或者内存溢出等。
不编写针对代码对其处理
Exception
在运行时运行出现的一起情况,可以通过try catch finally
Exception和Error的子类名称都是以父类名作为后缀。*/
/**
* 异常:是在运行时期发生的不正常情况。
*
* 在Java中用类的形式对不正常情况进行了描述和封装对象。
* 描述不正常的情况的类,就称为异常类。
*
* 以前正常流程代码和问题处理代码相结合,现在将正常流程代码和问题处理代码分离。提高阅读性。
*
* 其实异常就是Java通过面向对象的思想将问题封装成了对象。
* 用异常类对其进行了描述。
* 不同的问题用不同的类进行具体的描述。比如角标越界。空指针等等。
*
* 问题很多,意味着描述的类也很多,将其共性进行向上抽取,形成了异常体系。
*
* 最终问题(不正常情况)就分成了两大类。
*
* Throwable:无论是error,还是异常,问题,问题生成就应该可以抛出,让调用者知道并处理。
* //该体系的特点就在于Throwable及其所有的子类都具有可抛性。
* 可抛性到底指的是什么呢?怎么体现可抛性呢?
* 其实是通过两个关键字体现的。
* throws,throw ,凡是可以被这两个关键字所操作的类和对象都具备可抛性。
*
* |--1、一般不可处理的。Error
* 特点:是由jvm抛出的严重性的问题。
* 这种问题发生一般不针对性处理。直接修改程序。
* |--2、可以处理的。Exception
*
* 该体系的特点:
* 子类的后缀名都是用其父类名作为后缀,阅读性很想。
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr = new int[3];
arr = null;
System.out.println(arr[3]);
sleep(-5);
}
public static void sleep(int time){
if(time<0){
// 处理方法
}
if(time>100000){
// 处理方法
}
System.out.print("我睡。。。" + time);
}
}
public class ExceptionDemo {
/* 异常
异常的体系
Throwable Error 通常出现重大问题如,运行的类不存在或者内存溢出等。
不编写针对代码对其处理
Exception
在运行时运行出现的一起情况,可以通过try catch finally
Exception和Error的子类名称都是以父类名作为后缀。*/
/**
* 异常:是在运行时期发生的不正常情况。
*
* 在Java中用类的形式对不正常情况进行了描述和封装对象。
* 描述不正常的情况的类,就称为异常类。
*
* 以前正常流程代码和问题处理代码相结合,现在将正常流程代码和问题处理代码分离。提高阅读性。
*
* 其实异常就是Java通过面向对象的思想将问题封装成了对象。
* 用异常类对其进行了描述。
* 不同的问题用不同的类进行具体的描述。比如角标越界。空指针等等。
*
* 问题很多,意味着描述的类也很多,将其共性进行向上抽取,形成了异常体系。
*
* 最终问题(不正常情况)就分成了两大类。
*
* Throwable:无论是error,还是异常,问题,问题生成就应该可以抛出,让调用者知道并处理。
* //该体系的特点就在于Throwable及其所有的子类都具有可抛性。
* 可抛性到底指的是什么呢?怎么体现可抛性呢?
* 其实是通过两个关键字体现的。
* throws,throw ,凡是可以被这两个关键字所操作的类和对象都具备可抛性。
*
* |--1、一般不可处理的。Error
* 特点:是由jvm抛出的严重性的问题。
* 这种问题发生一般不针对性处理。直接修改程序。
* |--2、可以处理的。Exception
*
* 该体系的特点:
* 子类的后缀名都是用其父类名作为后缀,阅读性很想。
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr = new int[3];
arr = null;
System.out.println(arr[3]);
sleep(-5);
}
public static void sleep(int time){
if(time<0){
// 处理方法
}
if(time>100000){
// 处理方法
}
System.out.print("我睡。。。" + time);
}
}