java 例外についてgetSuppressed()と抑制された例外の确认

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 例外についてgetSuppressed()と抑制された例外の确认相关的知识,希望对你有一定的参考价值。

class MyResource2 implements AutoCloseable {
	private String msg;

	public MyResource2(String msg) {
		this.msg = msg;
	}

	public void method() throws SQLException {
		throw new SQLException("method() でのエラー");
	}

	public void close() throws SQLException {
		System.out.println("close() : " + msg);
		throw new SQLException("close() でのエラー : " + msg);
	}
}
class UseMyResource2 {
	public static void main(String[] args) {
		try (MyResource2 obj1 = new MyResource2("obj1");
				MyResource2 obj2 = new MyResource2("obj2")) {
			obj1.method();
		} catch (SQLException e) { // method()でのエラーがキャッチされた
			System.out.println(e.getMessage());
			Throwable[] errAry = e.getSuppressed();
			System.out.println(" 抑制例外数 : " + errAry.length);
			for (Throwable ex : errAry) {
				System.out.println(ex.getMessage());
			}
		} finally {
			System.out.println("finally ブロック");
		}
	}
}

以上是关于java 例外についてgetSuppressed()と抑制された例外の确认的主要内容,如果未能解决你的问题,请参考以下文章

java 例外について独自クラスの作成

java 例外についてFileInputStreamでTryWithResourceのを使う例

java 收藏についてTreeSetSample

java 收藏についてTreeMapSample

java 收集についてNavigableMapSample

java 收藏についてDequeSample