Rescuing ::Exception in libraries is problematic, for several reasons. In this instance, it prevents a SystemExit from killing the interpreter correctly. The exception classes which are under Exception and not StandardError are generally those which it makes no sense to attempt to handle in user code anyway, so catching them (especially in a background thread, where it's normal to expect a Thread.abort_on_exception setting to be relevant) is misleading.
…meout Makes exception handling transparent. Fixes #202.
Some apps (e.g. our test suite) may choose to recover from them instead of raising an exception.
…oored to the nearest second.