JAVA 异常捕捉机制(3)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mingzhuo_126/article/details/83280621

要求

完成一个 java application应用程序,接收用户通过键盘不断输入表示某门课程的成绩的字符串(按回车为一个字符串结束),当输入非法数字(输入值小于0或大于100)时提示成绩输入有误,当输入为非数字的字符串时提示输入格式不合法。

思路

  1. 先创建一个异常类型。可以像下面这样定义自己的异常类:
class MyException extends Exception{
}
  1. 使用throw抛出异常信息

程序

import java.util.Scanner;
//创建一个异常
class ScoreException extends Exception {
	ScoreException (int a) {  //异常名及参数
	}
	public String toString() {
		return "成绩输入有误"; //输出字符串
	}
}

public class CreateException2 {
	public static void main(String args[]) { //主方法入口
		while (true) {  //循环
			Scanner scan = new Scanner(System.in);//创建Scanner对象,等待键盘输入
			System.out.println("请输入成绩:");
			int a = scan.nextInt(); //将输入的成绩赋给a
			try {  //要监视的代码块
				if (a<0 || a>100)
					throw new ScoreException (a ); //若输入分数不合理,抛出异常
				else
					System.out.println("成绩为:" + a);	//否则输出成绩			
			}
			catch (ScoreException exc) { //捕获分数不合理异常
				System.out.println(exc);
			}
			catch (Exception exc) { //捕获格式错误异常
				System.out.println("输入格式不合法");
			}
		}
	}
}

运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/mingzhuo_126/article/details/83280621