案例一:
package com.esandinfo; /** * 自定义一个Exception类 */ class MyCustomException extends RuntimeException { private String name; MyCustomException(String name, int falg) { this(name); } MyCustomException(String name) { this.name = name; } public String getName() {return name;} } /** * 我现在去使用 刚刚自定义的Exception类 */ class MyUtils { public void doAction(String name) throws MyCustomException { // 需要在这里注意:,异常的抛出,好让main方法处理 if ("史珍香".equals(name)) { throw new MyCustomException("兄弟,史珍香他报错了,你去处理异常吧!!!!", 0001); } else if ("李狗蛋".equals(name)) { throw new MyCustomException("兄弟,李狗蛋他奔溃了,你去处理异常吧!!!!", 0002); } else { throw new MyCustomException("未知异常,你去处理异常吧!!!!", -1000); } // .... 以后还需要定义异常,可以往下面加 } } public class MyTest { public static void main(String[] args) { try { new MyUtils().doAction("史珍香"); new MyUtils().doAction("李狗蛋"); // 不会执行了,因为第一个方法已经被捕获了,进入了 catch new MyUtils().doAction(null); } catch (MyCustomException e) { // 打印捕获到的异常 System.out.println(e.getName()); } } }
执行结果:
案例二:
package com.esandinfo; /** * 自定义一个Exception类,专门计算 【加法】 以后你可以增加为: 加减乘除 */ class MyException extends RuntimeException { private int result; // 这是计算后的结果值 MyException(int value1, int value2) { result = value1 + value2; } public int getResult() {return this.result;} } /** * 我现在去使用 刚刚自定义的MyException类 */ class Utils { public void doAction(int value1, int value2) throws MyException { // 需要在这里注意:,异常的抛出,好让main方法处理 throw new MyException(value1, value2); // .... 以后还需要定义异常,可以往下面加 } } public class MyCount { public static void main(String[] args) { try { // 我现在调用 上面的Utils中的方法,就是为了捕获 Utils-->doAction方法丢出的异常 new Utils().doAction(1000, 1000); } catch (MyException e) { System.out.println(e.getResult()); // 打印得到的 Utils-->doAction 方法丢出的异常 } } }
执行结果:
分类:
Android-Java易筋经
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架