** Normally, the Lisp debugger is not used (even if you have enabled it)
for errors that are handled by condition-case.
If you set debug-on-signal to a non-nil value, then the debugger is called regardless of whether there is a handler for the condition. This is useful for debugging problems that happen inside of a condition-case.
This mode of operation seems to be unreliable in other ways. Errors that are normal and ought to be handled, perhaps in timers or process filters, will instead invoke the debugger. So don't say you weren't warned.