我遇到了一个令人困惑的问题,但是我无法找到解决方法。我有几行代码,某个时刻,Send
函数会抛出一个System.Net.Sockets.SocketException
异常。然而,即使try有catch块,它也不能捕获异常并正常执行下去。当我尝试运行需要抛出相同异常的案例时,catch就能很好地捕获它。
我尝试过的:
- 尝试更改VS调试设置“仅为我的代码启用”,但已经禁用了。
- 我尝试了Debug和Release模式。
- 我尝试使用通用的异常捕获程序,但没有一个有效。
以下是代码,在某个时刻,来自服务器的连接关闭,c
套接字断开连接。它返回System.Net.Sockets.SocketException
,但下面的catch无法捕获它。
try
{
// Some code here . . .
c.Send(clientData);
Print("Started uploading the file " + uploadFilename + ".");
upBox.Text = "";
Print("Finished uploading the file " + uploadFilename + ".");
}
catch (System.Net.Sockets.SocketException)
{
Print("You are disconnected from server!");
}