The use of `getError(s)` and `setError` in the legacy models is really tied to the legacy error handling in the CMS (namely JError).  I'd personally like to see reusing these methods being avoided in favor of throwing exceptions back to the controllers (that was the route I took when rewriting the install app).