Skip to content

ALL-ERRO0002 · raise_without_cause

Count errors raised inside a handler that arrive without the failure they replace.

This is a deterministic rule for all languages. Read its implementation.

Read every guard one declaration states and report a raise written inside a handler clause whose own text names neither the failure that clause caught nor a marker that carries a cause. Translating a low level failure into one the caller understands is good practice, and it stays good practice only while the new error carries the old one, because the stack that names what actually broke lives on the failure being replaced. Python spells the carry as from error, JavaScript as the cause option, Java by handing the caught error to the constructor, and Go by wrapping with %w. A raise a formatter wrapped over several lines is read through to the parenthesis that closes it, so the cause still counts wherever it was written.

Losing that stack costs a whole debugging session. The report says the profile could not be read and never says the disk was full, so whoever is holding the incident has to reproduce from scratch what the program already knew and then threw away.

Continue with evidence and references, or open the examples.