The error ( or exception ) handling, IMHO, is one the most omitted featuers of "cool" software of careless developers. No matter what technology you use you need to understand how errors ( exceptions ) are treated by the technology and whether standard behavior ( like the default error handling capabilities of ABL blocks ) kicks in. Actually it is sometimes pretty hard to produce code that holds water when it comes to error handling but most of the times, IMHO of course, it is sloppy developers.
How often have you been annoyed by those tale-telling Java stack traces?
For me the bad thing about the way errors are handled in the ABL is, that it makes it so damn easy to write code that eats errors. Just use the NO-ERROR option consistently throughout your code and most likely you will not bother your users with ABL error messages.
Having said that, I think the structured error handling that was introduced with OOABL is a really good thing. I even use it in procedural code.
But, yes, sice it is not like in Java where the development environment automatically enforces the handling of "declared" exceptions, if you want to transform every possible error message into your custom one, you need to know.
Did you know that Progress provides translated versions of the promsgs in the respective prolang sub directories that you can use out-of-the-box?
Heavy Regards, RealHeavyDude.