java中运行时异常_Java中最常用的运行时异常是什么?

我从不抛出NullPointerException。 对我来说,当出现问题时,它自然会出现在代码中,并且需要开发人员查看会发生什么。 然后,他修复了原因,并且不再发生。

我使用IllegalStateException来表示对象配置错误或调用顺序不正确。 但是,我们都知道,理想情况下,对象应确保它不会处于不良状态,并且您不能以错误的顺序调用它(制造一个生成器和一个生成的对象...)。

当一个方法检测到其参数不正确时,我会使用大量的IllegalArgumentException。 这是任何公共方法的责任,即停止处理(以避免更难理解的间接错误)。 另外,方法开头的一些if出于文档目的(文档永远不会偏离代码,因为它是代码:-))。

public void myMethod(String message, Long id) {

if (message == null) {

throw new IllegalArgumentException("myMethod's message can't be null");

// The message doesn't log the argument because we know its value, it is null.

}

if (id == null) {

throw new IllegalArgumentException("myMethod's id can't be null");

// This case is separated from the previous one for two reasons :

// 1. to output a precise message

// 2. to document clearly in the code the requirements

}

if (message.length()<12) {

throw new IllegalArgumentException("myMethod's message is too small, was '" + message + "'");

// here, we need to output the message itself,

// because it is a useful debug information.

}

}

我还使用特定的运行时异常来表示更高级别的异常情况。

例如,如果我的应用程序的模块无法启动,则当另一个模块调用该模块时,可能会引发ModuleNotOperationalException(理想情况下是由诸如拦截器之类的通用代码,否则由特定代码引起)。 在做出架构决定之后,每个模块都必须处理调用其他模块的操作上的此异常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值