Java中的异常触发都是通过throw主动抛出
定义自定义运行时异常类运行时异常在Java中继承自
发布日期:2021-04-30 21:02:04
浏览次数:112
分类:精选文章
本文共 1824 字,大约阅读时间需要 6 分钟。
自定义运行时异常与API中运行时异常的行为有何不同?实际上,无论是自定义的运行时异常还是API中提供的运行时异常,都是需要主动被抛出的。如果你希望在程序运行时自动抛出异常,必须在代码中使用throw关键字主动抛出异常。
以下是实现自定义运行时异常的步骤:
RuntimeException类。因此,你可以创建一个自定义的运行时异常类,例如:public class IllegalAgeRuntimeException extends RuntimeException { public IllegalAgeRuntimeException(String message) { super(message); }} - 在需要的地方使用
throw关键字当你想要抛出自定义运行时异常时,使用throw关键字并传递异常对象。例如: - 如果你希望捕获并处理运行时异常,可以在方法中添加
try-catch块。 - 如果你希望让调用者处理异常,可以在方法签名中声明抛出该异常,并在调用者处使用
try-catch捕获。 - 运行时异常类
IllegalAgeRuntimeException: - 编译时异常类
IllegalAgeException(继承自Exception):
public class Demo { public static void main(String[] args) { // 当调用`judgeAgeRuntime`方法时,会抛出自定义运行时异常 judgeAgeRuntime(-1); } public static void judgeAgeRuntime(int age) { if (age > 150) { throw new IllegalAgeRuntimeException("你活不了那么大岁数,你就是普通人"); } else if (age < 0) { throw new IllegalAgeRuntimeException("你的年龄不可能是负数"); } }} 需要注意的是,运行时异常不会自动在方法中抛出。它们需要像上述代码中一样,通过throw关键字被主动抛出。如果不在try-catch块中处理,运行时异常将导致程序终止,且不会显示友好的错误信息。
关于异常的处理
示例代码
public class Demo { public static void main(String[] args) { try { judgeAge(10); } catch (IllegalAgeException e) { System.out.println("捕获到异常:" + e.getMessage()); } } public static void judgeAge(int age) throws IllegalAgeException { if (age > 150) { throw new IllegalAgeException("你活不了那么大岁数,你就是普通人"); } else if (age < 0) { throw new IllegalAgeException("你的年龄不可能是负数"); } }} 自定义异常类
public class IllegalAgeRuntimeException extends RuntimeException { public IllegalAgeRuntimeException(String message) { super(message); }} public class IllegalAgeException extends Exception { public IllegalAgeException(String message) { super(message); }} 发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2026年06月01日 06时07分03秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Pinia入门(快速上手)
2023-03-02
Pinia:$patch的使用场景
2023-03-02
Pinia:$subscribe()的使用场景
2023-03-02
Pinpoint对Kubernetes关键业务模块进行全链路监控
2023-03-02
Pinterest 大规模缓存集群的架构剖析
2023-03-02
PinYin4j库的使用
2023-03-02
PIP
2023-03-02
pip install mysqlclient报错
2023-03-02
pip install 出现报asciii码错误的解决
2023-03-02
pip throws TypeError: parse() got an unexpected keyword argument ‘transport_encoding‘ 在尝试安装新软件包时
2023-03-02
pip 下载慢
2023-03-02
pip 安装opencv-python卡死
2023-03-02
pip 安装出现异常
2023-03-02
Pip 安装失败:需要 SSL
2023-03-02
Pip 安装挂起
2023-03-02
pip 或 pip3 为 Python 3 安装包?
2023-03-02