store exception for later use

- traceback get lost.
- TODO: better way to retain failure information