Java 09
Posted 立木-Six
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 09相关的知识,希望对你有一定的参考价值。
一。多层的异常捕获
预测结果:ArrayIndexOutOfBoundsException/内层try-catch
发生ArithmeticException
预测结果:ArrayIndexOutOfBoundsException/外层try-catch
二:异常抛出几点注意
1.异常时立刻跳出,寻找 catch语句处理异常,一旦异常被处理好之后,那么,其余的catch语句就不会再被执行,但是,finally语句是无论有没有异常都会执行的语句,当然这也不是绝对的。
2.得知finally不执行的几种情况
1)finally语句块中发生了异常。
2)在前面的代码中用了System.exit()退出程序。
3)程序所在的线程死亡。
4)关闭CPU
三。课堂成绩代码
import java.util.Scanner; class ScException extends Exception{ public ScException(){ } } public class A { public static void main(String[] args) { // TODO Auto-generated method stub boolean f=true,h=true,q=true; Scanner s=new Scanner(System.in); int Sc=0;String ss; while(f){ System.out.println("Please input a score:"); ss=s.nextLine(); for(int i=0;i<ss.length();i++){ if((ss.charAt(i)<\'0\')||(ss.charAt(i)>\'9\')) break; else{ q=false; h=false; } } if(q){ try{ throw new ScException(); } catch(ScException e){ System.out.println("格式错误"); } } if(!h) //输入的是数字 { Sc=Integer.parseInt(ss); if((Sc<0)||(Sc>100)) { try{ ScException x= new ScException(); throw x; } catch(ScException x){ System.out.println("输入异常,请输入小于100正整数"); } } else f=false; } } if(Sc<60) System.out.println("不及格"); else if(Sc<70) System.out.println("及格"); else if(Sc<80) System.out.println("中"); else if(Sc<90) System.out.println("良"); else if((Sc<100)||(Sc==100)) System.out.println("优"); } }
以上是关于Java 09的主要内容,如果未能解决你的问题,请参考以下文章