
The Silent Killer in Your Web App: How Bare catch {} Blocks Hide Failures from Everyone
There's a category of bug that I find genuinely maddening: the kind where the system works — no exceptions thrown, no 500 errors logged, CI is green — but the user never sees the output they're supposed to see. This is the story of exactly that bug in cad-dxf-agent , a local-first AI-powered DXF editor I've been building. After applying an AI-planned edit, users would see "Run an edit to see the result" — the placeholder. Forever. Even though the backend rendered the preview successfully. The root cause? Two catch {} blocks. Empty. Silent. Swallowing every error without a single log line. The Setup: What the App Does cad-dxf-agent lets you upload an existing 2D engineering DXF drawing, describe changes in plain English, and get back a validated edited copy. The LLM never touches raw DXF — it returns structured JSON operations that a deterministic engine applies. The whole pipeline: Upload DXF → Load → Summarize → Plan (LLM) → Validate → Apply → Save-As + Render PNG The web version runs
Continue reading on Dev.to Python
Opens in a new tab




