Expecting the Unexpected — Best practices for Error handling in Angular