JAVA 异常捕捉机制(2)
要求
完成一个 java application应用程序,完成一个计算绝对值表达式 |a-b|的功能。要求当b比a大时人为抛出一个自定义异常,在计算绝对值时通过异常捕捉机制完成此绝对值表达式的计算。
思路
- 先创建一个异常类型。可以像下面这样定义自己的异常类:
class MyException extends Exception{
}
- 使用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|
}
}
}