使用try-catch捕获IllegalArgumentException可提升程序健壮性,如Integer.parseInt(“abc”)抛出NumberFormatException(其子类)时能被catch块处理;业务中可主动抛出该异常并捕获,如setAge(-5)时提示“年龄必须在0到150之间”;也可合并捕获多个异常,用|分隔类型,统一处理参数校验问题。

在Java中捕获 IllegalArgumentException 的方法与其他异常一样,使用 try-catch 语句块即可。这个异常通常表示传入方法的参数不合法或不符合要求,属于运行时异常(RuntimeException),虽然不是强制捕获的,但在某些场景下提前处理能提升程序健壮性。
使用 try-catch 捕获 IllegalArgumentException
将可能抛出该异常的代码放在 try 块中,并用 catch 捕获 IllegalArgumentException:
try { Integer.parseInt("abc");} catch (IllegalArgumentException e) { System.out.println("参数非法:" + e.getMessage());}
上面的例子中,Integer.parseInt() 实际上抛出的是 NumberFormatException,它是 IllegalArgumentException 的子类,因此也能被成功捕获。
主动抛出并捕获自定义的 IllegalArgumentException
在业务逻辑中,可以手动检查参数并抛出异常,再进行捕获处理:
千面视频动捕
千面视频动捕是一个AI视频动捕解决方案,专注于将视频中的人体关节二维信息转化为三维模型动作。
27 查看详情
立即学习“Java免费学习笔记(深入)”;
public void setAge(int age) { if (age 150) { throw new IllegalArgumentException("年龄必须在 0 到 150 之间"); } // 正常处理}// 调用时捕获try { setAge(-5);} catch (IllegalArgumentException e) { System.out.println("错误:" + e.getMessage());}
捕获多个异常的情况
如果一段代码可能抛出多种异常,可以分别处理,也可以合并处理:
try { someMethod(null);} catch (IllegalArgumentException | NullPointerException e) { System.err.println("参数相关异常:" + e.getMessage());}
这样可以统一处理与参数校验相关的异常类型。
基本上就这些。只要把可能出问题的代码放进 try 块,明确 catch IllegalArgumentException,就能有效应对参数不合法的情况。
以上就是在Java中如何捕获IllegalArgumentException的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/287757.html
微信扫一扫
支付宝扫一扫