Issue #413 - Improve Error Handling Infrastructure

Issue #413