private async Task Handle(AntMessage <T> message) { try { await HandleMessage(message.Message); } catch (Exception e) { message.OnError(e); var result = await HandleError(message, e); switch (result) { case OkHandleResult x: break; default: throw new NotImplementedException("Not implemented handler for result"); } } }
protected abstract Task <HandleResult> HandleError(AntMessage <T> message, Exception ex);