例外処理の過程では、間の区別は投げて、それを投げますか?
スロー:この方法は、治療せずに、文の方法であるが、アップロードするために、治療者を呼び出す人。
スロー:例外の特定のタイプに投げます。
栗がスローされます。
スロー、そして、このアプローチは、例外が発生する可能性があるが、誰かがコールする場合、私はちょうど私は、あなたがこのアプローチは、私が呼び出す場合、例外をスローする可能性があることを知ることができる、私が対処していない、それを宣言します処理を持っているか、その後にスローされます。
フォーマット:メソッド名(パラメータ)は、例外タイプ、例外クラス2をスローします.....
1 クラス数学{ 2 公共の int型の DIVは(int型私は、int型の j)をスロー例外{ 3 int型、T = I / Jを、 4 戻りT。 5 } 6 } 7 8 パブリック クラスThrowsDemo { 9 パブリック 静的 ボイドメイン(文字列引数[])をスロー 例外{ 10数学M =を新しい数学()。 11のSystem.out.println( "出发操作:" + m.div(10,2 ))。 12 } 13}
スロー:例外の方法でスロー実行することができるキャプチャすることができます
注例外:実行されると、プログラムはすぐに文がもはや適用されて後ろに、例外処理ステージに転送されていない、とどこ方法はもはや意味のある値を返します。
1 パブリック クラスTestThrow 2 { 3 パブリック 静的 ボイドメイン(文字列[]引数) 。4 { 5 トライ 6 { 7 // スロー宣言されたメソッドを呼び出し、例外が明示的に必要キャッチ 8 // そうでない場合は、mainメソッドが再度必要ステートメントをスロー 9 throwChecked(-3 ); 10 } 11。 キャッチ(例外E) 12は 、{ 13である のSystem.out.println(e.getMessage()); 14 } 15 // メソッド呼び出し例外ランタイムが明示的に、例外を捕捉スローすることができる 16 // 例外を無視しなくてもよい 。17 throwRuntime(3 ); 18である } 。19 公共 静的 ボイドは throwChecked(INTは A)がスロー例外 20は 、{ 21は、 IF(A > 0 ) 22 { 23 // 自分の例外スローされた例外 24 // このコードはtryブロックで、又は宣言されたメソッドである必要があり、ベルトスロー 25 投 新しい新しい例外を(「ゼロより大きい値は、要件を満たしていません」)。 26 } 27 } 28 公共 静的 ボイド throwRuntime(INT A) 29 { 30 IF(A> 0 ) 31である { 32 // 自己のRuntimeExceptionスローされた例外、明示的に例外キャプチャ 33 @は完全に、例外を無視することができます発信者処理方法に関する例外 34は、 投 新しい新規(「ゼロより大きい値は、要件を満たしていない」のRuntimeException ); 35 } 36 } 37}