零EVA

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1 异常:就是程序在运行时出现的不正常情况

异常的由来:问题也是现实生活中具体的事物,也可以通过JAVA类的形式进行描述,并封装成对象

      其实就是JAVA对不正常情况进行描述后的对象体现

对于问题的划分:两种:一种是严重的问题,一种是非严重问题

对于严重的,JAVA通过Error类进行描述

  对于Error一般不编写针对性的代码对其进行处理

对于非严重的,JAVA通过Exception类进行描述

  对于Exception可以使用针对性的处理方法进行处理

 无论Error或者Exception都具有一些共性内容

比如:不正常情况的信息,引发原因等

Throwable

  |--Error

  |--Exception

 

2 异常的处理

try

{

  需要被检测的代码块

}

catch(异常类 变量)

{

  处理异常的代码(处理方式)

}

finally

{

  一定会执行的语句

}

 

3 对捕获到的异常进行常见方法操作

 String getMessage():获取异常的信息

 

在函数上声明异常

便于提高安全性,让调用者进行处理,不处理则编译失败

 

对多异常的处理

  1 声明异常时,建议声明为更为具体的异常,这样处理的可以更具体

  2 对方声明几个异常,就应该有几个catch块,不要定义多余的catch块

    如果多个catch块中的异常出现继承关系,父类异常catch块放在最下面

 

建议在进行catch处理时,catch中一定要定义具体处理方式

不要简单的书写一条输出语句

 

 1 class Demo
 2 {
 3     int div(int a,int b)throws ArithmeticException,ArrayIndexOutOfBoundsException//throws Exception//在功能上通过throws关键字声明了该功能有可能会出现问题
 4     {
 5         int[] arr = new int[b];
 6         System.out.println(arr[4]);
 7         return a/b;
 8     }
 9 }
10 
11 class ExceptionDemo
12 {
13     public static void main(String[] args)
14     {
15         Demo d = new Demo();
16         try
17         {
18             int x = d.div(4,0);
19             System.out.println("x = "+x);//发生问题后,try语句块后,问题发生位置后的代码不再执行
20         }
21         /*
22         catch(Exception e)
23         {
24             //System.out.println("除以零了");
25             System.out.println(e.getMessage());//异常信息
26             System.out.println(e.toString());//异常名称:异常信息
27             e.printStackTrace();//异常名称,异常信息,异常出现位置
28         }
29         */
30         catch(ArithmeticException e)
31         {
32             System.out.println(e.toString());
33             System.out.println("被零除");
34             
35         }
36         catch(ArrayIndexOutOfBoundsException e)
37         {
38             System.out.println(e.toString());
39             System.out.println("角标越界");
40         }
41         System.out.println("OVER");
42     }
43 }
View Code

 

posted on 2017-06-12 18:00  零EVA  阅读(175)  评论(0)    收藏  举报