I always recommend reading Joe Duffy's post on errors for the curious.
http://joeduffyblog.com/2016/02/07/the-error-model/