What different errors would group together in this new standard you're proposing?
My 2M satoshi, from a PostgreSQL person's perspective:
As I think everyone here agrees, parsing error messages is not the way to go: they might get arbitrarily changed around between releases and/or they might be localized. Parsing them is hard as well, even if the two aforementioned problems weren't present.
As pointed out by Maciek, SQLSTATEs are somewhat standardized, but I'm not exactly sure as to how well that works in practice; I would expect the "error classes" to at least match quite accurately in the most common cases, but it would be an awful caveat if some of them didn't. PostgreSQL 9.3 also added a lot more information to constraint violation errors (such as the name of the constraint), but my understanding is that a lot of other database implementations don't really provide that information, so adding that to the general interface seems shady at best.