java-异常概述及体系

 1 package p1.exception;
 2 
 3 
 4 /*
 5  * 异常:是在运行时期发生的不正常情况。
 6  * 
 7  * 
 8  * 在java中用类的形式对不正常情况进行了描述和封装对象。
 9  * 
10  * 描述不正常的情况的类,就称为异常类。
11  * 
12  * 以前正常流程代码和问题处理代码相结合,
13  * 现在将正常流程代码和问题处理代码分离。提高阅读性
14  * 
15  * 其实异常就是java通过面向对象的思想将问题封装成了对象
16  * 
17  * 用异常类对其进行描述。
18  * 不同的问题用不同的类进行具体的描述。比如角标越界。空指针等等
19  * 
20  * 问题很多,意味着描述的类也很多。
21  * 将其共性向上抽取,形成了异常体系。
22  * 
23  * 最终问题(不正常情况)就分成了两大类。
24  * Throwable:无论是error,还是异常,问题发生就应该可以抛出,让调用者知道并处理
25  *             //该体系的特点就在于Throwable及其所有的子类都具有可抛性。
26  *             可抛性到底指的是什么呢?怎么体现可抛性呢?
27  *             其实是通过两个关键字来体现的。
28  *             throws throw,凡是可以被这两个关键字所操作的类和对象都具备可抛性。
29  *         |--1,一般不可处理的。Error类
30  *             特点:是由jvm抛出的严重性的问题。
31  *                 这种问题发生一般不针对性处理。直接修改程序
32  *         |--2,可以处理的。Exception类
33  * 
34  * 该体系的特点:
35  *         子类的后缀名都是用其父类名作为后缀,阅读性很强。
36  *         
37  * 
38  * 
39  * 
40  */
41 public class ExceptionDemo {
42 
43     public static void main(String[] args) {
44         // TODO Auto-generated method stub
45         int[] arr = new int[1024*1024*800];//java.lang.OutOfMemoryError: Java heap space
46         arr = null;
47         System.out.println(arr[3]);
48         sleep(-5);
49     }
50     
51     /*public static void sleep1(int time) {
52         if (time<0) {
53             new FuTime();//就代表着时间为负的情况,这个对象中会包含着问题的名称,位置等信息
54     //            处理办法
55     //            处理办法
56     //            处理办法
57         }
58         if (time>100000) {
59             new BigTime();
60     //            处理办法
61     //            处理办法
62     //            处理办法
63         }
64         System.out.println("我睡。。。"+time);
65     }*/
66     
67     public static void sleep(int time) {
68         if (time<0) {
69 //            /*抛出*/ new FuTime();//就代表着时间为负的情况,这个对象中会包含着问题的名称,位置等信息
70 
71         }
72         if (time>100000) {
73 //            /*抛出*/ new BigTime();//对象要具有可抛性才能抛出
74 
75         }
76         System.out.println("我睡。。。"+time);
77     }
78 }
79 /*
80  * class FuTime{
81  * 
82  * } 
83  * class BigTime{
84  * 
85  * }
86  */
ExceptionDemo

 

posted @ 2021-11-03 19:55  doremi429  阅读(16)  评论(0)    收藏  举报