Java-10.6 finally(3)-異常の紛失を最初から認識する

1068 ワード

この章ではfinallyを使用して異常な損失を引き起こすことについて議論します.
これは実はとても偶然の間違いで、私たちは普通は犯しません.
package com.ray.ch10;

public class Test {

	public static void main(String[] args) throws Exception2 {
		try {
			throw new Exception1("Exception1");
		} finally {
			throw new Exception2("Exception2");
		}
	}
}

class Exception1 extends Exception {
	public Exception1(String msg) {
		super(msg);
	}
}

class Exception2 extends Exception {
	public Exception2(String msg) {
		super(msg);
	}
}

出力:
Exception in thread "main"com.ray.ch10.Exception2: Exception2 at com.ray.ch10.Test.main(Test.java:9)
出力から問題が分かり、Exception 1は全くなくなりました.
もう1つのより簡単な紛失です.
package com.ray.ch10;

public class Test {

	public static void main(String[] args) {
		try {
			throw new Exception();
		} finally {
			return;
		}
	}
}

出力:
(なし)
まとめ:この章ではfinallyを使用すると異常が失われることを簡単に例に挙げますが、try catchと一緒に使用すると、異常の損失を避けることができます.
この章はここまでです.ありがとうございます.
-----------------------------------
目次