add ExceptionSaver and use it in a few places #299

PR for merging to 1.0