我想知道为什么IllegalArgumentException
类不需要被捕获或声明,而其他异常必须(例如java.net.MalformedURLException
)。
public void foo() {
throw new IllegalArgumentException("spam");
}
public void bar() throws MalformedURLException { // required
throw new MalformedURLException("ham");
}
我知道Error
s 不必声明,因为它们不打算被捕获。
我想声明一个也不需要被捕获的新异常。