Re: Tasty exceptions



Michael C. wrote:

Generally, I can see 2 advantages to turning an exception into an
error code:

1) To suppress useless exceptions.
Sometimes all you want to know is if something succeeded or failed.
In this case, you could really care less what the exception was and
you still want your programs execution to proceed.

Allowing a program to proceed in an undefined state is hazardous to
software reliability. You can assert you don't care why something
failed, but if it failed because the stack was corrupt you're going to
care sooner or later. The question is what your app does before it
starts "caring."

2) Sometimes one can respond more efficiently to an error code using
a case or an if statement instead of using an exception handler.

That's putting the cart before the horse, IMHO. Optimize an error
handler? If this is causing an issue in your app then "efficiency" is
/not/ the problem.

An object can be in a defined state while dealing with all local
exceptions locally. That wouldn't be dangerous.

Precisely what is a "local" exception? Surely you don't think that an
exception raised by a piece of code of a well-defined scope must have
only "local" consequences, right? The only exceptions which are safe to
"handle" are those you expect, and they aren't the only ones trapped in
an empty exception handler. Handling expected exceptions is covered by
the first of the two correct responses I enumerated earlier (which come
from Meyer, not me, BTW).

--
Craig Stuntz [TeamB] · Vertex Systems Corp. · Columbus, OH
Delphi/InterBase Weblog : http://blogs.teamb.com/craigstuntz
Everything You Need to Know About InterBase Character Sets:
http://blogs.teamb.com/craigstuntz/articles/403.aspx
.



Relevant Pages

  • Re: Structured exception information
    ... Doesn't feel as type-safe as advertised. ... What, _exactly_, will the handler do with the separate bits? ... Looking up the localized error message in the dictionary based on the *type-safe* error code that it got from the exception object, ... I'm looking forward to see a convincing solution for error code and the dictionary. ...
    (comp.lang.ada)
  • Re: Exception : an ugly grammer in programming
    ... machinism in programming languages. ... we return error code when we meet an error. ... But how about use exception in OOP? ... Exceptions originally were designed to handle unexpected conditions, ...
    (comp.lang.php)
  • Exception : an ugly grammer in programming
    ... Yes, I'm doing PHP. ... machinism in programming languages. ... we return error code when we meet an error. ... But how about use exception in OOP? ...
    (comp.lang.php)
  • Re: [PHP] Re: MySQL exceptions
    ... I don't think MySQL or even mysqli have any kind of exception throwing ... echo "Impossible connect to server."; ... completely before trying to use a dead connection. ... error code number would be encapsulated as an ...
    (php.general)
  • Re: Structured exception information
    ... A real example is a HTTP component that reports error code with value 404 and the GUI leyer that looks up the dictionary of messages for currently selected language to resolve it to whatever is appropriate for display. ... You can argue that return code instead of exception might do the job and that's true - but then we are back to the discussion of return codes vs. exceptions, which is a paradigm issue - which should be independent on the technical abilities of each solution. ...
    (comp.lang.ada)