Java异常处理实例详解
1.异常例子
classTestTryCatch{ publicstaticvoidmain(String[]args){ intarr[]=newint[5]; arr[7]=10; System.out.println("end!!!"); } }
输出:(越界)
Exceptioninthread"main"java.lang.ArrayIndexOutOfBoundsException:7 atTestTryCatch.main(TestTryCatch.java:4) 进程已结束,退出代码1
2.异常处理
classTestTryCatch{ publicstaticvoidmain(String[]args){ try{ intarr[]=newint[5]; arr[7]=10; } catch(ArrayIndexOutOfBoundsExceptione){ System.out.println("数组范围越界!"); System.out.println("异常:"+e); } finally{ System.out.println("一定会执行finally语句块"); } System.out.println("end!!!"); } }
输出:
数组范围越界! 异常:java.lang.ArrayIndexOutOfBoundsException:7 一定会执行finally语句块 end!!!
3.抛出异常
语法:throw异常类实例对象;
inta=5,b=0; try{ if(b==0) thrownewArithmeticException("一个算术异常,除数0"); else System.out.println(a+"/"+b+"="+a/b); } catch(ArithmeticExceptione){ System.out.println("抛出异常:"+e); }
输出:
抛出异常:java.lang.ArithmeticException:一个算术异常,除数0
对方法进行异常抛出
voidadd(inta,intb)throwsException{ intc=a/b; System.out.println(a+"/"+b+"="+c); }
TestTryCatchobj=newTestTryCatch(); obj.add(4,0);
输出:(报错)
java:未报告的异常错误java.lang.Exception;必须对其进行捕获或声明以便抛出
可见,方法后面跟了throws异常1,异常2...,则必须在调用处处理
改为:
TestTryCatchobj=newTestTryCatch(); try{ obj.add(4,0); } catch(Exceptione){ System.out.println("必须处理异常:"+e); }
输出:
必须处理异常:java.lang.ArithmeticException:/byzero
4.编写异常类
语法:(继承extendsException类)
class异常类名extendsException{ ...... }
classMyExceptionextendsException{ publicMyException(Stringmsg){ //调用Exception类的构造方法,存入异常信息 super(msg); } }
try{ thrownewMyException("自定义异常!"); } catch(Exceptione){ System.out.println(e); }
输出:
MyException:自定义异常!
到此这篇关于Java异常处理实例详解的文章就介绍到这了,更多相关Java异常处理内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。