java作业7

时间:2022-04-01 04:05:55

1)阅读以下代码(CatchWho.java),写出程序运行结果:

java作业7

2)写出CatchWho2.java程序运行的结果

java作业7

3)请先阅读 EmbedFinally.java示例,再运行它,观察其输出并进行总结。

 java作业7

总结:当有多层嵌套的finally时,异常在不同的层次抛出,在不同的位置抛出,可能会导致不同的finally语句块执行顺序。

4)依据对本讲多个示例程序的分析,请自行归纳总结出Java多层嵌套异常处理的基本流程。

try-catch-finally相互嵌套时,先处理最内层的try-catch-finally。当try抛出了与catch匹配的异常,则代码到相应的catch()中执行。如果catch也出现了异常,程序会检测finally中是否有异常,若有,则覆盖。如果只有try-finally,那么先执行finally,如果finally没有异常,则返回处理try中的异常,如果finally有异常,则覆盖try中的异常

 

5)动手动脑

 

import javax.swing.*;

public class Score {

public static void main(String []args){

int n=0;

try{

String str=JOptionPane.showInputDialog("请输入学生成绩:");

n=Integer.parseInt(str);

if(0<=n&&n<60)

{

JOptionPane.showMessageDialog(null,"不及格",

"学生成绩",javax.swing.JOptionPane.INFORMATION_MESSAGE);

}

if(n>=60&&n<70)

{JOptionPane.showMessageDialog(null,"及格",

"学生成绩",javax.swing.JOptionPane.INFORMATION_MESSAGE);}

if(n>=70&&n<80)

{

JOptionPane.showMessageDialog(null,"中",

"学生成绩",javax.swing.JOptionPane.INFORMATION_MESSAGE);

}

if(n>=80&&n<90)

{

JOptionPane.showMessageDialog(null,"良",

"学生成绩",javax.swing.JOptionPane.INFORMATION_MESSAGE);

}

if(n>=90&&n<=100)

{

JOptionPane.showMessageDialog(null,"优秀",

"学生成绩",javax.swing.JOptionPane.INFORMATION_MESSAGE);

}

if(n>100)

{

JOptionPane.showMessageDialog(null,"输入不正确",

"学生成绩",javax.swing.JOptionPane.INFORMATION_MESSAGE);

}

if(n<0)

{

JOptionPane.showMessageDialog(null,"输入不正确",

"学生成绩",javax.swing.JOptionPane.INFORMATION_MESSAGE);

}}

catch(Exception e)

{JOptionPane.showMessageDialog(null,"输入不正确",

"学生成绩",javax.swing.JOptionPane.INFORMATION_MESSAGE);

}}}

 运行结果截图:

java作业7

java作业7