Files
claude-foundations/memory/gotchas-python.md
Paul O'Reilly f41c22d0ac Add question-reframing guidance to CLAUDE.md; commit accumulated project files
- CLAUDE.md: add "Question the question" and "One clarifying question" rules
  to Tone and Interaction — XY problem detection, false premise checks, and
  explicit reframe pattern before answering
- Add claude/ detail-file directory (topic docs referenced from CLAUDE.md)
- Add ABOUT.md, FUTURE.md
- Update memory/, scripts/, settings.yaml with accumulated session changes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 09:37:28 +12:00

657 B

Python Gotchas

sys.exit() inside bare except: pass is swallowed

Symptom: A loop that should terminate on first match with sys.exit(0) kept iterating and printing multiple lines. Cause: sys.exit() raises SystemExit, which is a BaseException. A bare except: (or except Exception:) inside the loop body catches it and continues iteration. Fix: Use break instead of sys.exit() when the exit is inside an exception handler, or narrow the except clause to the specific exception you care about (e.g., except (KeyError, ValueError):). Never use bare except: — it masks SystemExit, KeyboardInterrupt, and real bugs.