概述
我从不抛出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(理想情况下是由诸如拦截器之类的通用代码,否则由特定代码引起)。 在做出架构决定之后,每个模块都必须处理调用其他模块的操作上的此异常。
最后
以上就是难过小懒虫为你收集整理的java中运行时异常_Java中最常用的运行时异常是什么?的全部内容,希望文章能够帮你解决java中运行时异常_Java中最常用的运行时异常是什么?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复