No Throw

View Source
Raising exceptions with throw should be avoided.
Avoid
Especially when not used for non-local returns from functions (e.g. early return).
throw({error, "Something went wrong!"}).Prefer
The preferred way to raise an exception is by using error/1:
error({error, "Something went wrong!"}).Rationale
throw/1 is intended for module-local flow control and non-local returns from functions, not for
raising exceptions. While valid, it differs from error/1 and exit/1, which are designed for
proper exception handling. Using throw/1 can lead to unpredictable behavior, as it is caught as
a non-local return, whereas error/1 and exit/1 provide better control and error context
(such as stack traces).
Options
- None.
Example configuration
{elvis_style, no_throw, #{}}