Updated exception throwing / handling