你的位置:首页 > 软件开发 > Java > 充分阐述java中的异常机制

充分阐述java中的异常机制

发布时间:2016-06-12 21:00:27
一、java异常总结:异常就是程序运行时出现不正常运行情况1.异常由来:通过java的类的形式对现实事物中问题的描述,并封住成了对象其实就是java对不正常情况描述后的对象体现 2.对于问题的划分有两种:一种是严重的问题,一种是非严重的问题对于严重的,java通过Err ...

一、java异常总结:

异常就是程序运行时出现不正常运行情况

1.异常由来:

通过java的类的形式对现实事物中问题的描述,并封住成了对象

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

 

 

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

对于严重的,java通过Error类来描述   

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

对于非严重的,java通过Exception类来描述

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

 

3.常见的异常有:数组角标越界异常,空指针异常……

 

4.无论Error或者Exception都有一些共性的内容。

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

Throwable   //父类(下面两个类相同的共性抽取出来的)

          |--Error

          |--Excption   //两个子类(里面定义了很多问题(异常出现))             /*父类名作为子类后缀名*/

 

实例1:出现异常示例

 1 class Demo  2 { 3   public int div(int x,int y) 4   { 5     return x/y; 6   } 7 } 8  9 10 class ExceptionDemo11 {12   public static void main(String args[])13   {14     Demo d=new Demo();15     int x=d.div(4,0);  //0作为除数16     System.out.println("x="+x);17     System.out.println("over");18   }19 }
实例2:出现异常示例2,内存溢出

 1 class Demo 2 { 3   public int div(int x,int y) 4   { 5     return x/y; 6   } 7 } 8  9 10 class ExceptionDemo11 {12   public static void main(String args[])13   {14     /*Demo d=new Demo();15     int x=d.div(4,0);16     System.out.println("x="+x);17     System.out.println("over");18     */19     byte[] arr=new byte[1024*1024*1000];20   }21 }

建议:

建立在catch处理时,catch中一定要定义具体的处理方式

不要简单定义一句 e.printStackTrace().

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

因为用户看不懂,最好保存到文件中,定时发给我们开发者去查看。

 

实例5:自定义异常

你们有没有发现,我们正在使用的异常都是java中封装好的

但在实际开发中,我们的程序中出现的异常,有可能是java没有封装的,

这时候,就需要自己定义了

 

我根据上面的代码,定义除数不能为0,代码如下

 1 class Demo 2 { 3   public int div(int x,int y)throws FuShuException  /*抛出异常*/   4   { 5     if(y<0) 6     { 7       throw new FuShuException("分母出现负数了------/bu FuShu",y);  /*自己手动抛出异常的对象*/ 8     } 9     return x/y;10   }11 }12 class FuShuException extends Exception13 {14   private int value;15   FuShuException(String m,int value)16   {17     super(m);                  /*给父类Exception的getMessage方法传递参数*/18     this.value=value;19   }  20   public int getValue()              /*自定义的方法,返回负数*/21   {22     return value;23   }24 }25 26 class ExceptionDemo27 {28   public static void main(String args[])   29   {30     Demo d=new Demo();31     try                              32     {33       int x=d.div(4,-3);34       System.out.println("x="+x);35     }36     catch(FuShuException e)          /*捕获异常对象*/37     {38       System.out.println(e.getMessage()+e.getValue());39     }40     System.out.println("over");41   }42 }

从上面的结果,可以看出

自定义异常。需求:在本程序中,对于除数是-3,也视为是错误的是无法进行运算的。当在函数内部出现了throw抛出异常对象,那么就必须要给对应的处理动作。一般情况在,函数内出现异常,函数上需要声明。如何定义异常信息呢?自定义异常:只有这个体系中的类和对象才可以被throws和throw操作。

 

throws和throw的区别throws后面跟的异常类。可以跟多个。用逗号隔开。

原标题:充分阐述java中的异常机制

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。