Assertion (software development): Difference between revisions

Content deleted Content added
Internal link
Tags: Visual edit Mobile edit Mobile web edit
Internal link
Tags: Visual edit Mobile edit Mobile web edit
Line 132:
== Comparison with error handling ==
 
Assertions are distinct from routine [[Exception handling|error-handling]]. Assertions document logically impossible situations and discover programming errors: if the impossible occurs, then something fundamental is clearly wrong with the program. This is distinct from error handling: most error conditions are possible, although some may be extremely unlikely to occur in practice. Using assertions as a general-purpose error handling mechanism is unwise: assertions do not allow for recovery from errors; an assertion failure will normally halt the program's execution abruptly; and assertions are often disabled in production code. Assertions also do not display a user-friendly error message.
 
Consider the following example of using an assertion to handle an error: