在java中对以下方法引发异常
我需要修改removeDetails方法(见下文),以便在其key参数不是正在使用的key时抛出此异常在java中对以下方法引发异常,java,exception,bluej,Java,Exception,Bluej,我需要修改removeDetails方法(见下文),以便在其key参数不是正在使用的key时抛出此异常 public void removeDetails(String key) { if(key == null){ throw new IllegalArgumentException("Null key passed to removeDetails."); } if(keyInUse(key)) {
public void removeDetails(String key)
{
if(key == null){
throw new IllegalArgumentException("Null key passed to removeDetails.");
}
if(keyInUse(key)) {
ContactDetails details = book.get(key);
book.remove(details.getName());
book.remove(details.getPhone());
numberOfEntries--;
}
}
任何关于什么样的异常是合适的想法都会被感激地接受,查看java文档中的
IllegalArgumentException
,它说“抛出以指示方法已被传递了非法或不适当的参数”。我认为IllegalArgumentException
应该适合您的要求。但是,如果您想更具体一些,您可以始终创建自定义异常。如果您不创建特定于应用程序的异常,抛出IllegalArgumentException有什么错?正如您所描述的,这是一个无效的密钥,那么这有什么问题吗?您能更具体一点吗?到目前为止,您已经尝试过检查,您的方法语义似乎很接近-本质上是NPE表示空键,布尔结果表示不存在的键