respect $catch
init method only called once (via protected _init)
getters for error details
re-throw exceptions after clearing output buffer