[–] LogicHoleFlaw 17y ago ↗ This blog post fails the "well-reasoned argument" test:Pros of Return Codes:1) Return codes are typed2) Return codes are cleaner than exceptions and can have additional associated data3) Exceptions are easy to ignore4) Return codes integrate well with third-party code (how would you use Exceptions and not blow your client's call stack?)Error handling is hard, let's go shopping.
[–] russell 17y ago ↗ The blog references Spolsky who has marked it expired. Perhaps he has changed his mind.Problems with error codes:Too easy to ignore.Errors and normal return codes get mixed.Often difficult to pick a distinguished error value, 0, -1?Problems with exceptions:Too easy to ignore. How often do you find empty exceptions?Too many types of exceptions, The Java libraries are particularly guilty of this.Adding a checked exception can break code all over the universe.
2 comments
[ 4.0 ms ] story [ 34.5 ms ] threadPros of Return Codes:
1) Return codes are typed
2) Return codes are cleaner than exceptions and can have additional associated data
3) Exceptions are easy to ignore
4) Return codes integrate well with third-party code (how would you use Exceptions and not blow your client's call stack?)
Error handling is hard, let's go shopping.
Problems with error codes:
Too easy to ignore.
Errors and normal return codes get mixed.
Often difficult to pick a distinguished error value, 0, -1?
Problems with exceptions:
Too easy to ignore. How often do you find empty exceptions?
Too many types of exceptions, The Java libraries are particularly guilty of this.
Adding a checked exception can break code all over the universe.