Content deleted Content added
Citation bot (talk | contribs) Add: date, s2cid. | Use this bot. Report bugs. | Suggested by Abductive | Category:Software anomalies | #UCB_Category 5/35 |
Rikivillalba (talk | contribs) |
||
Line 198:
== Condition systems ==
[[Common Lisp]], [[R (programming language)|R]]<ref>{{Cite web |title=R: Condition Handling and Recovery |url=https://search.r-project.org/R/refmans/base/html/conditions.html |access-date=2024-03-25 |website=search.r-project.org}}</ref>, [[Dylan (programming language)|Dylan]] and [[Smalltalk]] have a [[condition system]]<ref>{{cite web|author = What Conditions (Exceptions) are Really About|url = http://danweinreb.org/blog/what-conditions-exceptions-are-really-about|title = What Conditions (Exceptions) are Really About|publisher = Danweinreb.org|date = 2008-03-24|access-date = 2014-09-18|url-status = dead|archive-url = https://web.archive.org/web/20130201124021/http://danweinreb.org/blog/what-conditions-exceptions-are-really-about|archive-date = February 1, 2013}}</ref> (see [[Common Lisp#Condition system|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.<ref>{{cite web |url=http://www.franz.com/support/documentation/6.2/ansicl/section/conditio.htm |title=Condition System Concepts |publisher=Franz.com |date=2009-07-21 |access-date=2011-12-15 |archive-url=https://web.archive.org/web/20070628213221/http://www.franz.com/support/documentation/6.2/ansicl/section/conditio.htm |archive-date=2007-06-28 |url-status=dead }}</ref>
|