45 lines
2.1 KiB
Markdown
45 lines
2.1 KiB
Markdown
---
|
|
id: 37cca1c8-7fbd-43c3-a289-129b1c530f9f
|
|
type: workflow
|
|
title: "PR review: paper-dynasty-database#48 — replace broad except Exception with DoesNotExist (APPROVED)"
|
|
tags: [pr-reviewer, paper-dynasty-database, fastapi, peewee, python, exception-handling]
|
|
importance: 0.4
|
|
confidence: 0.8
|
|
created: "2026-03-04T01:18:04.266886+00:00"
|
|
updated: "2026-03-04T01:18:04.686668+00:00"
|
|
relations:
|
|
- target: 759c8f57-2519-4e21-afd6-bf89386aedb8
|
|
type: RELATED_TO
|
|
direction: outgoing
|
|
strength: 0.76
|
|
edge_id: 8668a1bd-c71f-44f4-b15a-34ad97917e66
|
|
- target: d36a86f0-8183-4c94-8d63-0be65d3fd63a
|
|
type: RELATED_TO
|
|
direction: outgoing
|
|
strength: 0.81
|
|
edge_id: faef1278-c663-4607-b2a1-4b3f8d877d99
|
|
- target: 5ae1bf6e-1e1c-4486-8a4d-10afd9e42189
|
|
type: RELATED_TO
|
|
direction: outgoing
|
|
strength: 0.81
|
|
edge_id: ba47c3f8-ca13-47ca-98a5-2e3f6da75899
|
|
---
|
|
|
|
## PR #48: fix: replace broad except Exception blocks with DoesNotExist (#15)
|
|
|
|
**Verdict**: APPROVED (could not post — Gitea blocks self-reviews on cal-owned repos)
|
|
|
|
### Summary
|
|
- 71 `except Exception` blocks replaced with `except peewee.DoesNotExist` across 19 router files in `app/routers_v2/`
|
|
- `DoesNotExist` imported into each file from `..db_engine`, which re-exports it via `from peewee import *`
|
|
- Real DB errors now propagate as 500s instead of being swallowed as 404s
|
|
|
|
### Key Findings
|
|
- **Correctness**: Change is mechanically correct. `DoesNotExist` is peewee's standard exception for `Model.get_by_id()` misses.
|
|
- **Import validity**: `db_engine.py` line 8 uses `from peewee import *`, so `DoesNotExist` is available in that namespace. All 19 import additions are valid.
|
|
- **Pre-existing minor issue**: A few handlers use `except DoesNotExist as e:` but don't include `e` in their log messages (e.g., `cards.py` `v1_cards_wipe_team`, `results.py` `get_team_results`). Pre-existing, out of scope.
|
|
- **No security concerns**. No style violations.
|
|
|
|
### Note
|
|
Gitea raises "approve your own pull is not allowed" when the reviewer owns the repo. Self-review is blocked at the platform level — this is a known limitation for solo repos.
|