ALL-ERRO0002 · evidence
This page continues ALL-ERRO0002 directly from its source docstring. Read its implementation.
Evidence
Section titled “Evidence”Each finding names the declaration, the handler clause, and the raise that arrives with no cause. The value is the number of raises that drop what they replace.
Exceptions
Section titled “Exceptions”A raise that states a cause marker or names the caught failure itself is carrying the original
and is left alone. Deliberately breaking the chain with raise ... from None says so in the
source, and it reads as carried for exactly that reason. A bare re-raise names no new error at
all and hands the original straight on, so it is never judged, and neither is a raise outside a
handler because it replaces nothing. A handler that binds no name is judged on the markers
alone, since there is no name a raise there could carry. Only a callable is judged, because a
type reaches every handler it owns through the callable holding it and would otherwise report
the same raise twice. handlers names the words a language opens a handler clause with,
raises the words it raises with, and causes the markers that carry one, so a language
spelling any of them differently is configured rather than reimplemented.
References
Section titled “References”- Generalizes Ruff B904 raise-without-from-inside-except. Open reference
- Cites “PEP 3134, Exception Chaining and Embedded Tracebacks”. Open reference
- Cites “MDN Web Docs”, the Error cause option. Open reference
- Cites “The Go documentation”, error wrapping with the
%wverb. Open reference - Cites “Effective Java”, item 73, throw exceptions appropriate to the abstraction