evals / debt-shop
store-docstring
Expected
Hidden from the reviewer, like the grading note below.
- no-swallowed-errors
- holds
Store.items gains a docstring. Store.find's existing except clause that returns None is unchanged. The contract holds for this change.
Change
shop/store.py
+1
22 unmodified lines232425262722 unmodified lines return None
def items(self) -> Iterator[Item]: """Iterate over every item in insertion order.""" return iter(self._items.values())Contracts
no-swallowed-errors
---
name: no-swallowed-errors
message: Let errors crash; never catch an exception to hide it.
---
## Rules
Python code under `shop/` must not suppress exceptions.
Every `except` block must re-raise the exception or raise another exception, for example `raise BadRequest(...) from err`.
An `except` block that returns a value, returns `None`, uses `pass` or `continue`, or only logs is forbidden.
`contextlib.suppress` is forbidden for the same reason.
`try/finally` used only for cleanup, such as closing a file, is allowed.