class throwseg1
{
void show() throws Exception
{
throw new Exception("my.own.Exception");
}
void show2() throws Exception // Why throws is necessary here ?
{
show();
}
void show3() throws Exception // Why throws is necessary here ?
{
show2();
}
public static void main(String s[]) throws Exception // Why throws is necessary here ?
{
throwseg1 o1 = new throwseg1();
o1.show3();
}
}
なぜコンパイラレポートその方法show2()
、show3()
およびmain()
持っています
報告されない例外スローするためにキャッチまたは宣言する必要のある例外
throws Exception
これらのメソッドから削除するとどうなりますか?
Exception
、我々は呼び出すメソッド(定義する必要が方法2を持ちます)throws Exception
。呼び出しメソッドでその例外を渡さない場合。この目的は、呼び出すメソッド(に頭を放棄することである法3の)方法2例外によってスローすることができることを方法2それはあなたのプログラムを中断して、他の、そしてあなたはここでそれを処理する必要があります。
throws Exception
、メソッド定義で定義して、呼び出し元のメソッドを解放する必要がありました。以前のコメントの拡張