异常处理小练习

异常处理小练习

对异常的调用和使用

任务

Task.java中已经定义好了两个异常类:

  • DivisionByZeroException
  • InvalidOperatorException

你需要借助这两个异常类,完成Task类中的calculate方法:

  • operator为+、-、*、/时,返回v1和v2的运算结果

  • operator为/时

    • 如果v2为0,则抛出DivisionByZeroException异常。
    • 如果v2不为0,则返回v1和v2的运算结果(返回double类型)
  • operator不为+、-、*、/时,抛出InvalidOperatorException异常。

  • 请在main方法中调用calculate方法,并捕获异常。

    //自定义异常(继承RuntimeException代表运行时异常
    class DivisionByZeroException extends RuntimeException {
        public DivisionByZeroException(String message) {
            super(message);
        }
    }
    继承Exception代表编译时异常
    class InvalidOperatorException extends Exception {
        public InvalidOperatorException(String message) {
            super(message);
        }
    }
    
    public class Task {
        static double calculate(char operator, int v1, int v2) throws InvalidOperatorException {
            switch (operator) {
                case '+':
                    return v1 + v2;
                case '-':
                    return v1 - v2;
                case '*':
                    return v1 * v2;
                case '/':
                    if (v2 == 0) {
                        throw new DivisionByZeroException("分母不能为0");
                    }
                    return v1 * 1.0 / v2;
                default:
                   throw new InvalidOperatorException("输入有误");
            }
    
        }
    
        public static void main(String[] args) throws InvalidOperatorException {
            double result = calculate('/', 2, 0);
                System.out.println("Result:" + result);
        }
    
    }

     

posted @ 2023-02-26 20:36  好学的耀耀  阅读(25)  评论(0编辑  收藏  举报