# Report the exceptions a silent catch is swallowing

Catch blocks that discard the error, changed to report or rethrow.

Category: Error reporting and triage
Source: https://letsship.ai/use-cases/report-swallowed-exceptions
Published: 2026-08-25

## Goal

Make every silent catch in one module either report the error or rethrow it.

## Acceptance criteria

- No catch block discards its error
- Each catch either reports with context or rethrows
- A seeded failure on each path produces a reported event
- Expected control-flow catches are marked explicitly with a reason

## What lands as proof

A seeded failure per catch path, each producing a visible event, so the silence is proven gone.

## Prompt

Copy this to an agent to open the ticket:

```text
Create a Linear issue in my team and assign it to the SHIP agent.

Title: Stop swallowing exceptions in {module}

Description: Make every silent catch in one module either report the error or rethrow it.

Acceptance criteria:
- No catch block discards its error
- Each catch either reports with context or rethrows
- A seeded failure on each path produces a reported event
- Expected control-flow catches are marked explicitly with a reason

Before you create the issue, search this repository for catch blocks with empty or comment-only bodies and replace {module} with the worst area.
```

## Questions

### What does the agent actually change?

The ticket is scoped to one outcome: make every silent catch in one module either report the error or rethrow it. Work that serves that outcome is in scope, and anything outside it is left for a separate ticket, so the pull request stays reviewable.

### How do I know the work is done?

The pull request carries the evidence, not only the diff. Here that means every catch reports or rethrows, proven by a seeded failure per path, so a reviewer can confirm the result without reproducing the work locally.

### How much oversight does this need?

None is required before the run starts. Every claim this ticket makes can be checked by machine, so the agent works straight through and a person reviews the finished pull request like any other.
