Playing with exceptions in multi-threaded and single-threaded environments.