It caught only \Exception, so a PHP Error thrown by the callback (a
TypeError, an undefined method) skipped the rollback: the transaction stayed
open on the connection until it closed, and the handler kept believing it
was inside one — which also switches off its reconnect-on-failure.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EuZvjFSdodqgpyXtaoH1Xt