异常处理小练习
异常处理小练习
对异常的调用和使用
任务
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); } }