1. 异常处理先执行try语句,catch处理异常,finally一定执行。
  2. 浮点数除以0不会引发异常

浮点数数字取值范围为无穷大和无穷小,除以0时候为无穷大,所以正常执行。

  1. CatchWho.java运行结果

 

  1. CatchWho2.java运行结果

异常会有相应catch捕获,不执行其他部分。

 

  1. Finally执行一定吗

存在System.exit(0);会直接终止执行,不执行finally语句。

编写程序,输入成绩判断优良。

 package 成绩;

import java.util.Scanner;

public class score {

 

    public static void main(String[] args) {

        // TODO Auto-generated method stub

         Scanner input=new Scanner(System.in);

            while(true){

            try{

                System.out.println("请输入分数:");

                String score=input.nextLine();

                for(int i=0;i<score.length();i++){

                if(!(score.charAt(i)>=48&&score.charAt(i)<=57)){

                    throw new MyException();

                    }

 

                }

                int s = Integer.parseInt(score);

                String str="";

                if(s<60)

                    str="不及格";

                else if(s<70)

                    str="及格";

                else if(s<80)

                    str="中";

                else if(s<90)

                    str="良";

                else if(s<100)

                    str="优";

                else if (s>100||s<0)

                    throw new MyException();

               

                System.out.println("分数等级为:"+str);   

                break;

            }

            catch(MyException e) {

                   e.mistake();

                }

            }

 

        }

 

    }

 

    class  MyException extends Exception{

        public void mistake(){

                System.out.println("你输入的数字不符合要求");   

        }

       

       

    }