nonexception
Nonexception is a term used in software engineering to describe an approach to error handling that avoids signaling errors via exceptions. In nonexception design, functions return values that indicate success or failure, often accompanied by explicit error data. The term is not a formal standard; it is used in discussions of exceptionless programming and in documenting language idioms that prefer explicit results over runtime unwinding.
Mechanisms include the use of result types or tuples, optional or union types that encode Ok/Err, and
Languages and ecosystems commonly associated with nonexception practices include Go, which returns a value and an
Advantages include predictable performance, easier static analysis, and control over resource cleanup. Disadvantages include boilerplate error
See also: exception handling; error handling; result type; error monad; exceptionless programming.