I don't think the rowcount in the error message has any relation to the SELECT statement where you read @@rowcount in the procedure.
Connection recovery relates to a connection that was lost and then recovered. If the client API starts to ask about a row count, I guess it could get this message.
My gut feeling is that the root cause is a network issue, but I will have to admit that I very much out on a limb here.
As for tracing exceptions, you can do this with extended events. I have an article on my web site that describes how to do this, and which also provides a view to read the result from the session: https://www.sommarskog.se/Short%20Stories/trace-exceptions.html