Java でシャットダウン フックの実行中にキャッチされない例外がスローされた場合、jvm は登録されている残りのシャットダウン フック (存在する場合) を実行せずにすぐに終了しますか? javadoc から:
キャッチされなかった例外は、スレッドの ThreadGroup オブジェクトの uncaughtException メソッドを呼び出すことにより、他のスレッドと同様にシャットダウン フックで処理されます。このメソッドのデフォルトの実装は、例外のスタック トレースを System.err に出力し、スレッドを終了します。仮想マシンが終了または停止することはありません。
他のシャットダウンフックを実行する必要があるようです...
フォローアップの質問として、シャットダウン フックで例外をスローする可能性のあるコードを含めることは、おそらくお勧めできませんか? どうしても避けられない場合は、シャットダウン フック内で例外をキャッチすることをお勧めしますか?