我想知道爲什麼IllegalArgumentException
類不需要需要被捕獲或聲明,而其他例外必須(例如java.net.MalformedURLException
)。爲什麼沒有必要捕捉IllegalArgumentException?
public void foo() {
throw new IllegalArgumentException("spam");
}
public void bar() throws MalformedURLException { // required
throw new MalformedURLException("ham");
}
我知道Error
都不具備的中聲明,因爲它們不打算逮住。
我想聲明一個新的異常,也不需要捕捉。