JAVA 异常捕捉机制(4)

要求

完成一个 java application应用程序,通过赋初值或接收用户通过键盘输入的方式为表示用户名和密码的两个String类对象赋值,然后进行判断,如果用户名或密码为null,抛出自定义异常并结束程序;如果输入密码长度小于6个字符,抛出自定义异常并结束程序;如果用户名和密码不等于事先指定的字符串,抛出自定义异常并结束程序;否则输出提示“用登录成功”。

思路

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

程序

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) {  //循环
			try {  //要监视的代码块
			Scanner scan = new Scanner(System.in);//创建Scanner对象,等待键盘输入
			System.out.println("请输入成绩:");
			int a = scan.nextInt(); //将输入的成绩赋给a
			
				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("输入格式不合法");
			}
		}
	}
}

运行结果

在这里插入图片描述