Condition Systems
Common Lisp, Dylan and Smalltalk have a condition system (see Common Lisp Condition System) that encompasses the aforementioned exception handling systems. In those languages or environments the advent of a condition (a "generalisation of an error" according to Kent Pitman) implies a function call, and only late in the exception handler the decision to unwind the stack may be taken.
Conditions are a generalization of exceptions. When a condition arises, an appropriate condition handler is searched for and selected, in stack order, to handle the condition. Conditions that do not represent errors may safely go unhandled entirely; their only purpose may be to propagate hints or warnings toward the user.
Read more about this topic: Exception Guarantees, Exception Handling in Software
Famous quotes containing the words condition and/or systems:
“Our conscience is not the vessel of eternal verities. It grows with our social life, and a new social condition means a radical change in conscience.”
—Walter Lippmann (18891974)
“The only people who treasure systems are those whom the whole truth evades, who want to catch it by the tail. A system is just like truths tail, but the truth is like a lizard. It will leave the tail in your hand and escape; it knows that it will soon grow another tail.”
—Ivan Sergeevich Turgenev (18181883)