如果没有注入模块,在methodA中我可以抛出哪种异常?
public class Customer{
private String module;
public void methodA(){
if (StringUtils.isBlank(module))
throw new ???
}
}
答案 0 :(得分:1)
您可以创建自己的自定义异常,也可以抛出IllegalStateException
以及相应的消息。来自文档:
表示在非法或不适当的时间调用了某个方法。换句话说, Java环境或Java应用程序未处于所请求操作的适当状态。 (强调我的)
由于您不希望module
为空,因此您处于无效状态,因此此异常适合抛出此情况IMO。
答案 1 :(得分:0)
没有Specfic预定义Exception
已经存在,您可以使用。所以你可以创建一个像ModuleException
这样的新人: -
public class ModuleException extends Exception {
public ModuleException() { super(); }
public ModuleException(String message) { super(message); }
public ModuleException(String message, Throwable cause) { super(message, cause); }
public ModuleException(Throwable cause) { super(cause); }
}
创建ModuleException
后,您可以将其投放到您的班级中,如: -
public void methodA(){
if (StringUtils.isBlank(module))
throw new ModuleException("Module is blank but is MANDATORY");
}
答案 2 :(得分:0)
我会说使用isBlank
但true
方法在空字符串时也会返回<?xml version="1.0"?>
<!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433 -->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
<httpRuntime/>
</system.web>
</configuration>
。最好的选择可能是制作你自己的例外(可以找到信息here)。这样你也可以完全定制。