JAVA 异常捕捉机制(2)

要求

完成一个 java application应用程序,完成一个计算绝对值表达式 |a-b|的功能。要求当b比a大时人为抛出一个自定义异常,在计算绝对值时通过异常捕捉机制完成此绝对值表达式的计算。

思路

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

程序

import java.util.Scanner;
//创建一个异常
class AbsoluteValueException extends Exception {
	AbsoluteValueException (double a, double b) { //异常名及参数 
	}
	public String toString() {
		return "b is bigger than a . "; //输出十字符串
	}
}

public class CreateException {
	public static void main(String args[]) { //主方法入口
		double a,b; //声明变量
		Scanner scan = new Scanner(System.in); //创建Scanner对象,等待键盘输入
		System.out.println("a= ");
		a = scan.nextDouble(); //将输入的值赋给a
		System.out.println("b= ");
		b = scan.nextDouble();  //将输入的值赋给b
	    double c; //声明变量
	try {  //要监视的代码块
		if (a<b)
			throw new AbsoluteValueException ( a, b); //如果a<b,抛出异常
		else
		    c = a - b;
		System.out.println("|a - b| = " + c);  //否则输出|a-b|
	}
	catch (AbsoluteValueException exc) { //捕获异常
		System.out.println(exc);
		double c1 = b-a;
		System.out.println("|a - b| = " +c1); //输出|a-b|
	}
	}
}

运行结果

在这里插入图片描述