`DivByZeroError` extends `ArithmeticError` which extends ` `Defect` <[https://nim-lang.org/docs/system.html#Defect>`_](https://nim-lang.org/docs/system.html#Defect>`_). This is a different type from ` `CatchableError` <[https://nim-lang.org/docs/system.html#CatchableError>`_](https://nim-lang.org/docs/system.html#CatchableError>`_), which is what `{.raises.}` tracks at the time being, with the added problem that Defects can still be caught.
There are multiple issues open on this: [about Defect being caught](https://github.com/nim-lang/Nim/issues/11776), [RFC about Defects not being tracked](https://github.com/nim-lang/RFCs/issues/77), [issue about Defects not being tracked](https://github.com/nim-lang/Nim/issues/12862)
