您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > java异常处理例题代码
App9_1.java:输出一个数组的所有元素,捕获数组下标越界异常和除娄为0异常。publicclassApp9_1{publicstaticvoidmain(Stringargs[]){inti;int[]a={1,2,3,4};for(i=0;i5;i++)System.out.println(a[+i+]=+a[i]);System.out.println(5/0+(5/0));}}App9_2.java:使用try-catch-finall语句对程序中的异常进行捕获与处理。publicclassApp9_2{publicstaticvoidmain(Stringargs[]){inti;inta[]={1,2,3,4};for(i=0;i5;i++){try{System.out.print(a[+i+]/+i+=+(a[i]/i));}catch(ArrayIndexOutOfBoundsExceptione){System.out.print(捕获到了数组下标越界异常);}catch(ArithmeticExceptione){System.out.print(异常类名称是:+e);//显示异常信息}catch(Exceptione){System.out.println(捕获+e.getMessage()+异常!);//显示异常信息}finally{System.out.println(finallyi=+i);}}System.out.println(继续!!);}}App9_3.java:使用throw语句在方法中抛出异常。publicclassApp9_3{publicstaticvoidmain(Stringargs[]){inta=5,b=0;try{if(b==0)thrownewArithmeticException();//抛出异常,不是必须的elseSystem.out.println(a+/+b+=+a/b);//若不抛出异常,则运行此行}catch(ArithmeticExceptione){System.out.println(异常:+e+被抛出了!);e.printStackTrace();//显示异常信息}}}App9_4.java:求阶乘并捕获可能出现的三种异常。publicclassApp9_4{publicstaticdoublemulti(intn){if(n0)thrownewIllegalArgumentException(求负数阶乘异常);doubles=1;for(inti=1;i=n;i++)s=s*i;returns;}publicstaticvoidmain(String[]args){try{intm=Integer.parseInt(arg[0]);System.out.println(m+!=+multi(m));//调用方法multi求阶乘。}catch(ArrayIndexOutOfBoundsExceptione){System.out.println(命令行中没提供参数!);}catch(NumberFormatExceptione){System.out.println(应输入一个整数!);}catch(IllegalArgumentExceptione){System.out.println(出现的异常是:+e.toString());}finally{System.out.println(程序运行结束!);}}}App9_5.java:判断数字并捕获可能出现的三种异常。//App9_5.java使用throws语句在方法之中抛出异常publicclassApp9_5{staticvoidcheck(Stringstr1)throwsNullPointerException{//方法头抛出空指针异常if(str1.length()2){str1=null;System.out.println(str1.length());//空字符串的长度}charch;for(inti=0;istr1.length();i++){ch=str1.charAt(i);if(!Character.isDigit(ch))//判断参数中字符是否为数字thrownewNumberFormatException();//方法中抛出数字格式异常}}publicstaticvoidmain(Stringargs[])throwsException{//抛出异常给系统处理intnum;try{check(args[0]);num=Integer.parseInt(args[0]);if(num60)System.out.println(成绩为:+num+及格);elseSystem.out.println(成绩为:+num+不及格);}catch(NullPointerExceptione){System.out.println(空指针异常:+e.toString());}catch(NumberFormatExceptionex){System.out.println(输入的参数不是数值类型);}catch(Exceptione){System.out.println(命令行中没有提供参数);}}}App9_6.java:利用IOException的异常处理。//App9_6.java利用IOException的异常处理importjava.io.*;//加载java.io类库里的所有类publicclassApp9_6{publicstaticvoidmain(Stringargs[])throwsIOException{Stringstr;intnum;BufferedReaderbuf;buf=newBufferedReader(newInputStreamReader(System.in));while(true){try{System.out.println(请输入字符串:);str=buf.readLine();//将从键盘输入的数据赋给变量strif(str.length()0)break;elsethrownewIOException();//抛出输入/输出异常}catch(IOExceptione){System.out.println(必须输入字符串!!);continue;}}Strings=str.toUpperCase();//将str中的内容转换成大写,赋给变量sSystem.out.println(转换后的字符串为:+s);}}App9_7.java:自定义异常类。importjava.io.*;classCircleExceptionextendsException{//自定义异常类doubleradius;CircleException(doubler){//有参构造方法radius=r;}publicStringtoString(){return半径r=+radius+不是一个正数!;}}classCircle{privatedoubleradius;publicvoidsetRadius(doubler)throwsCircleException{if(r0)thrownewCircleException(r);elseradius=r;}publicvoidshow(){System.out.println(圆面积=+3.14*radius*radius);}}publicclassApp9_7{publicstaticvoidmain(Stringargs[]){Circlecir=newCircle();try{cir.setRadius(-2);}catch(CircleExceptione){System.out.println(自定义异常:+e.toString()+);}cir.show();}}
本文标题:java异常处理例题代码
链接地址:https://www.777doc.com/doc-4712799 .html