异常处理小练习
异常处理小练习
对异常的调用和使用
任务
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); } }
本文作者:好学的耀耀
本文链接:https://www.cnblogs.com/yaomagician/p/17157595.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异