Java異常処理個人心得まとめ

2037 ワード

1、異常処理の流れは常にまず異常を投げ出してから処理する
public class TestException {
	public static void main(String[] args) {
		int a = 6;
		int b = 0;
		try { // try    
			
			if (b == 0) throw new ArithmeticException(); //   throw      
			System.out.println("a/b   :" + a / b);
		}
		catch (ArithmeticException e) { // catch    
			System.out.println("      ,  b   0。");
		}
		System.out.println("      。");
	}
}

throw new文は、プログラムがキャプチャした例外を放出し、ArithmaticExceptionなどの対応するサブクラスを作成します.
2、ネストされたtry-catch文
プログラムにネストされたtry-catch文が存在する場合、例外が以前のcatch文にスナップされている場合、後続のcatch文はスナップを続行しません.
一致する例外タイプがcatchによって取得されると、例外処理コードに入ることに注意してください.処理が終了すると、try-catch文全体が終了することを意味します.他のcatch句では、例外タイプをマッチングおよびキャプチャする機会はなくなりました.
複数のcatch句を持つ異常プログラムでは、下位の異常クラスをキャプチャするcatch句をできるだけ前に置くとともに、相対的に上位の異常クラスをキャプチャするcatch句をできるだけ後ろに置くべきである.そうでなければ、下位レベルの例外クラスをキャプチャするcatch文がブロックされる可能性があります.
3、try-catch-finallyブロック
tryブロック:例外をキャプチャします.その後、0個以上のcatchブロックが接続され、catchブロックがない場合はfinallyブロックと接続する必要があります.catchブロック:tryがキャプチャした例外を処理するために使用されます.finallyブロック:例外をキャプチャまたは処理するかどうかにかかわらず、finallyブロック内の文が実行されます.tryブロックまたはcatchブロックでreturn文に遭遇すると、finally文ブロックはメソッドが戻る前に実行されます.以下の4つの特殊な場合、finallyブロックは実行されません.1)finally文ブロックに異常が発生しました.2)前のコードにSystemを使用する.exit()プログラムを終了します.3)プログラムが存在するスレッドが死亡した.4)CPUをOFFにする.
4、キーワードthrows
メソッドに調査可能な例外が発生する可能性がある場合は、キーワードthrowsを使用して投げ出す必要があります.メソッドの横に対応する例外が投げ出されることに注意してください.
5、キーワードthrow
throwは常に関数体に現れ、Throwableタイプの異常を放出するために使用されます.プログラムはthrow文の後にすぐに終了し、その後の文は実行されず、それを含むすべてのtryブロック(上位呼び出し関数で可能)の中から一致するcatch句を含むtryブロックを探します.
プログラムはthrow文の直後に終了し、対応するtryとそれに一致するcatchブロックを実行することに注意してください.
6.Throwableクラスでの一般的な方法
注意:catchキーワードの後かっこのExceptionタイプのパラメータe.Exceptionはtryコードブロックがcatchコードブロックに渡される変数タイプであり,eは変数名である.catchコードブロックの文「e.getMessage();」エラーの性質を出力するために使用します.通常、例外処理では、通常、3つの関数を使用して例外に関する情報を取得します.
getCause():放出異常の原因を返します.causeが存在しないか不明な場合はnullを返します.
getMeage():例外のメッセージ情報を返します.
printStackTrace():オブジェクトのスタックトラッキングは、フィールドSystemとしてエラー出力ストリームに出力.Errの値.