何か例外が発生した場合には、初期化を行い、クリーンアップする必要があります。私はまだ呼び出し側に渡す例外が欲しいと思います。問題は、今ではこのメソッドをthrows Throwable
と宣言してから、すべてのプロシージャが暗黙のうちにThrowable
を投げていないかのように、呼び出し側でこのthrowableを明示的に処理する必要があることです。愚かではないですか?クリーンアップを実行して呼び出し元に例外を渡す
try {
init_step1();
init_step2();
}
catch (Throwable th) {
clean();
throw th;
}
init_step1()とinit_step2()がThrowableをスローする可能性があり、データの一貫性を確保する必要があります。私は呼び出し側にチェックされた例外だけを処理させたい。そういうわけで彼らは彼らを「点検」と呼んでいるのですか? – milan
Ok init_step1()とinit_step2()はThrowableをスローします。これで呼び出し元にスローしたいのですが、何ですか? – Mauricio
Exceptionクラスを拡張する例外のみ。それは言語が一般的にどのように機能するかです。 – milan