You tried to catch errors on hanlder which is not for these purposes, protocol.Error handler provides only error about connection to the server, not errors from the server
Ermmm…
Yes, for example. I have no network connection to the server. So I do the OPEN and returns “Can’t open channel” from the try:catch but doesn’t it also be notified to the Error handler?