Because empty `error()` isn't that uncommon, IMHO, and thus isn't itself an error and shouldn't be handled as an exception.