- 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>
657 B
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.