多态与异常处理ppt作业

Posted on 2015-11-15 21:27  kkican  阅读(165)  评论(0)    收藏  举报

1、请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识。

答:1.抛出异常

当程序发生异常时,产生一个异常事件,生成一个异常对象,并把它提交给运行系统,再由运行系统寻找相应的代码来处理异常。这个过程称为抛出(throw)一个异常。一个异常对象可以由Java虚拟机生成,也可以由运行的方法生成。异常对象中包含了异常事件类型、程序运行状态等必要的信息。

2.捕获异常

异常抛出后,运行时系统从生成对象的代码开始,沿方法的调用栈逐层回溯查找,直到包含相应处理的方法,并把异常对象交给该方法为止,这个过程称为捕获(catch)一个异常。

简单地说,发现异常的代码可以“抛出”一个异常,运行系统“捕获”该异常,交由程序员编写的相应代码进行异常处理。

2、    辨析:finally语句块一定会执行吗?

答:否,只有与 finally 对应的 try 语句块得到执行的情况下finally 语句块才会执行,或是当执行try语句时终止虚拟机命令也会不执行finally语句。

3、编写一个程序,此程序在运行时要求用户输入一个 整数,代表某门课的考试成绩,程序接着给出“不及格”、“及格”、“中”、“良”、“优”的结论。

要求程序必须具备足够的健壮性,不管用户输入什  么样的内容,都不会崩溃。

源代码:import javax.swing.JOptionPane;

public class Score {

   public static void main(String args[])

   {

     String output = "";

     int a =1;

     while(a==1)

     {

     String input = JOptionPane.showInputDialog("请输入成绩(0`100):"); 

     try

     {

        int score = Integer.parseInt(input);

        if(score <0||score>100)

        {

          JOptionPane.showMessageDialog(null,"错误请重输");

          a=1;

        }

        else if(score<60)

        {

          output  = "不及格";

          a=0;

        }

        else if(score<=70)

        {

          output ="及格";

          a=0;

        }

        else if(score<=80)

        {

          output = "中";

          a=0;

        }

        else if(score<=90)

        {

          output = "良";

          a=0;

        }

        else if(score<=100)

        {

          output ="优";

          a=0;

        }

       

     }

    

     catch(Exception e)

     {

        JOptionPane.showMessageDialog(null,"errors occur!请输入整数");

        a=1;

       

        }

     }

     JOptionPane.showMessageDialog(null,output);

     System.exit(0);

   }

 

  

   }

运行截图:

     

          

       

 

 

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3