- 异常处理先执行try语句,catch处理异常,finally一定执行。
- 浮点数除以0不会引发异常
浮点数数字取值范围为无穷大和无穷小,除以0时候为无穷大,所以正常执行。
- CatchWho.java运行结果
- CatchWho2.java运行结果
异常会有相应catch捕获,不执行其他部分。
- 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("你输入的数字不符合要求");
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步