try-catch や scala.util.Try で、メイン処理で例外が発生し、そのあとリソースのクローズなどの後始末的な処理をする場合、
その後始末処理でも例外が発生する可能性がある。
後始末処理で発生した例外をそのままスローしてしまうと、メイン処理で発生した例外が見えなくなってしまう。
そんなときは、メイン処理で発生した例外に addSuppressed(後始末処理で発生した例外)
とする。
するとスタックトレースは、メイン処理で発生した例外のあとに後始末処理で発生した例外が Suppressed:
とともに見れる。