Catch 抓不住错误 socket 10054 远程主机强迫关闭了一个现在连接

lwplwp123 2013-08-11 01:18:42
依网上的例子看了一个socket server/client的例子,
可以正常运行,
但是client 在没有socket.close的情况下直接关闭程序,server端程式就不见了.
找了很久,发现是一个socket 10054的错误.
加入了try ... catch 后.一点用都没有.
Catch抓不住这个错误.




Try

Dim read As Integer = s.EndReceive(ar)
If read > 0 Then
so.sb.Append(Encoding.ASCII.GetString(so.buffer, 0, read))
If so.sb.Length > 1 Then
'All the data has been read, so displays it to the console
Dim strContent As String
strContent = Encoding.Unicode.GetString(so.buffer, 0, read)

txtOutput.Invoke(New ChangeTextDelegate(AddressOf ChangeTextInvoke), New Object() {Me.txtOutput, strContent})
End If
Array.Clear(so.buffer, 0, StateObject.BUFFER_SIZE)
s.BeginReceive(so.buffer, 0, so.buffer.Length, 0, New AsyncCallback(AddressOf ReceiveMessage), so)
End If
Catch ex2 As System.Net.Sockets.SocketException
Debug.WriteLine(ex2.ErrorCode)
Catch ex As Exception
Debug.WriteLine(ex.ToString)
...全文
434 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
袁涛 2013-08-12
  • 打赏
  • 举报
回复
登错了 呵呵
lwplwp123 2013-08-11
  • 打赏
  • 举报
回复
感谢 jshi123 哥的关注. 我在这里又东试西试. 又是换到debug/release 又是重启电脑.,,,,,, 后来不知道怎么会事,全又可以catch到了. 哎.....累了一天.
jshi123 2013-08-11
  • 打赏
  • 举报
回复
正常现象,调试器会先帮你停到产生异常的地方
lwplwp123 2013-08-11
  • 打赏
  • 举报
回复
抓到异常为什么不是catch 那里? 为什么程序运行到这里时是IDE 报出此异常. 这是何故?
jshi123 2013-08-11
  • 打赏
  • 举报
回复
这不是捕捉到异常了吗? try catch 外面是什么,异常关闭情况下会不会引起其它错误。你继续跟踪下去看看呢。
lwplwp123 2013-08-11
  • 打赏
  • 举报
回复

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧