failed

A throwing callback is swallowed — the hook only observes, so the patched method must still run. Recording it is therefore the only thing that keeps a broken handler visible to Patches.handle. Two writes and no log line, deliberately: a handler on a hot method throws per call, and logging a stack that often costs more than whatever it was patched to watch.