在我的winforms应用程序中,我在文本框中有一个没有try / catch 的事件:
private void textBoxPassport_Leave(object sender, EventArgs e)
{
dicExsitsManagers[key] = value;
}
我有一个错误,当键是空字符串时会触发此事件,并且我尝试从没有正确密钥的字典中获取值。
此错误不是此处的问题。而且我知道我可以检查密钥是否存在。
在使用try / catch的其他函数之后触发此事件会在表单上执行一些操作。
在VS2008上,这个异常被另一个函数的try / catch捕获,而当在VS2008之外启动应用程序时,根本没有捕获到这个异常,并且我得到了未处理异常的windows丑陋消息。
为什么VS2008在错误的try / catch中捕获这个未处理的异常?
更新
问题是异常被捕到了错误的地方。当我没有尝试/捕获时,我的VS不会捕获异常。我用来查看VS2008未处理的异常消息,但不是在这种情况下。