【发布时间】:2009-09-28 20:33:34
【问题描述】:
我维护了一个 c# 紧凑型框架应用程序,并且在 2 天内有 2 个案例,其中捕获的异常在消息中包含意外字符串。两次都是由于抛出了不同的异常类型。在下面的代码中,套接字异常被捕获,但显示的消息与 something else 相关。
//method1
try
{
soc.Connect(new IPEndPoint(IPAddress.Parse(_serverAddress), _serverPort));
}
catch (Exception ex)
{
MessageBox.Show(ex.Message)
}
//method2
try
{
m_socServer.Connect(new IPEndPoint(IPAddress.Parse(_serverAddress), _serverPort));
}
catch (SocketException sex)
{
MessageBox.Show(sex.Message)
}
在“method1”中,连接失败时抛出异常,进入了 catch 块,但消息框显示了一个我知道来自该 try 块之外的异常。在“method2”中,异常被捕获并且消息是正确的。这两个 try catch 块是代码中唯一改变的地方。
我还没有在一个小型测试程序中重现这一点,但我维护的程序有这种行为。
“method1”在哪里以及为什么没有得到意外的值?
【问题讨论】:
-
从您在下面写的 cmets 中,我对您真正想要什么感到更加困惑,我认为您需要详细说明您的问题。
-
我曾经在一家公司工作,该公司有人因过度使用带有性甚至性别歧视含义的变量名而被解雇。我因为没有告诉任何人而受到谴责。只有他和我在工作,但他是前辈。从那以后,我选择了在其他地方工作。只是说。
标签: c# exception windows-mobile compact-framework