Java的异常捕捉机制

要求:

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

1)首先自定义一个异常继承Exception

package jisuan01;
public class MyException extends Exception{   //构建自定义异常,继承Exception类
    public MyException(String Error) {  //构造方法    
        super(Error);  //继承父类的构造方法
    }
}

2)然后通过throws声明抛出异常,和throw抛出异常信息,并通过try-catch函数捕捉异常并进行异常处理,具体源代码如下:

package jisuan01;
import java.util.Scanner;
public class jisuan01 {
    public static double yichang (double a, double b) throws MyException {//定义方法抛出异常
        double c;
        if(a<b) {   //判断a是否小于b
            throw new MyException("此时a<b,出现异常!"); //错误信息
        }
        else {
       c=a-b;
        }
        return c;//返回值
    }
public static void main(String[]args){
    double a, b;
    while(true){//无限循环
    System.out.println("请输入a:");
    Scanner sc1=new Scanner(System.in);
    a=sc1.nextDouble();//把输入的值给a
    System.out.println("请输入b:");
    Scanner sc2=new Scanner(System.in);
    b=sc1.nextDouble(); //把输入的值给b   
    try {       
     double c = yichang(a, b);    //调用yichang函数
    System.out.println("|a-b|="+c);//输出yichang函数返回值
    }
    catch(MyException e){
        double c1;
        c1=b-a;
        System.out.println(e);//输出异常信息
        System.out.println("|a-b|="+c1);  //出现异常,输出|a-b|的值 
        }
    }
}
}

运行结果如下所示:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/Mrchongyang/article/details/82717903