一、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
(#换成@)。