Re-raising the error may mark the run as failed, but only as a side effect. This means that whatever is applying the catalog needs to correctly mark the report the run as failed, which is kind of a brittle approach.

I think that it would be better to explicitly mark `transaction.report.status = 'failed'` or some equivalent behavior, so we're guaranteeing that the desired behavior is actually implemented. Implementing the fix this way will reveal the intent that if an exception is caught by the catalog, the transaction report _should_ be marked as failed. @zaphod42 @scenek what do you think of this approach?