Getting the "deeper" reason for automatic print cancel

When a print job is terminated by the system - not the user, and PrintFailed event is fired, where the payload item reason is error, is there a way to get the actual reason behind the canel?

The Error event doesn't seem to fire very often, and in its description it says;

Note that this event will not fire for error messages from the firmware that are handled (and as such recovered from) either by OctoPrint or a plugin.

I am not sure if it's not implemented, or the event just doesn't fire, but if you fx pull out the cable between Pi and printer during a print, the print is cancelled, but the reason isn't fired as an event. Here I'm guessing OctoPrint knows that lost serial connection was the "sinner".

So, does anyone know if this error can be "grabbed" somewhere? The dream is knowing whether the print failed because of a connection issue, or something reported by the printer's firmware (and of course, if possible, what the printer reported).

I would think that the Error event would fire in that situation.

It does not, sadly. Not in the case where the serial connection is terminated, at least. I haven't tested thermal runaway or other firmware-related causes, but seems disconnect doesn't dire the event.

There is also the Disconnect event.