动手动脑1:
题目:
结果截图:
基础知识:
1.结构:
Try{
//可能发生运行错误的代码:
}
Catch(异常类型 异常对象引用){
//用于处理异常的代码
}
Finally{
//用于“善后”的代码
}
2.所捕获的异常均派生自Exception类。
3.不管是否有异常发生,finally语句块中的语句始终保证被执行。
动手动脑2:
题目:
运行结果:
结果分析:
嵌套的异常显示,先显示最里层的,然后在接外层。
动手动脑3:
题目:
结果截图:
结果分析:
当查出一个异常后,如果未能解决,是不能跳过直接去接下一个异常的,必须解决完一个,再解决下一个。
动手动脑4:
结果截图:
结果分析:
每个层次中只要有finally语句,Finally语句就一定会执行,不论是否接到错误。
动手动脑5:
题目:
结果截图:
结果分析:
不一定会执行,在这个程序中,在throw语句执行后,finally语句就没有执行。
实验:
题目:
编写一个程序,此程序在运行时要求用户输入一个 整数,代表某门课的考试成绩,程序接着给出“不及格”、“及格”、“中”、“良”、“优”的结论。
代码:
package main;
import javax.swing.JOptionPane;
public class Chengji {
public static void main(String[] args){
double n=0.0;
for(int i=0;i<1000000;i++)
{
String input=JOptionPane.showInputDialog("请输入学生成绩");
try{
n=Double.valueOf(input);
if(n<0)
{
JOptionPane.showMessageDialog(null,"输入不正确");
}
else if(n<60)
{
JOptionPane.showMessageDialog(null, "该学生成绩不及格");
}
else if(n<70)
{
JOptionPane.showMessageDialog(null,"该学生成绩为及格");
}
else if(n<80)
{
JOptionPane.showMessageDialog(null,"该学生成绩为中等");
}
else if(n<90)
{
JOptionPane.showMessageDialog(null,"该学生成绩为良好");
}
else if(n<=100)
{
JOptionPane.showMessageDialog(null,"该学生成绩为优秀");
}
else if(n>100)
{
JOptionPane.showMessageDialog(null, "输入不正确");
}
}
catch(NumberFormatExceptione)//NumberFormatException异常
{
JOptionPane.showMessageDialog(null, "输入不正确");
}
}
}
}
结果截图:
来源:https://www.cnblogs.com/baiyue/p/6102864.html