1

我有异常(对我来说)抛出异常的问题。抛出异常后,应用程序在其上循环并且不退出。

if(!foundRemoteID)
{
throw new ArgumentOutOfRangeException(
          "value",
          "Remote ID was not found."
          );
}

我在“if(!foundRemoteID)”行上插入了刹车点,但是在第一次抛出异常后程序根本没有命中它。它只是一遍又一遍地循环“抛出新的(..)。

- 我在任何级别都没有 try{} catch{} 块。- 没有包含此代码的循环

我什至尝试将其放入:

try
{
(..)
}
finally
{
Enviroment.Exit(1);
}

但 finally{} 块永远不会被击中。

此类中的其他 throw new (..) 的行为方式相同。

我错过了一些微不足道的事情吗?

更新:问题与我的项目无关。我刚刚创建了一个简单的控制台应用程序,它只有

throw new FileNotFoundException();

在 Main() 方法中,问题仍然存在。

我已经尝试将 VS2010 设置重置为默认值,但没有帮助。

4

1 回答 1

4

这很可能不是您的应用程序的实际行为 - 相反,Visual Studio 设置为在出现未处理的 ArgumentOutOfRangeException 时始终中断。

您可以通过按“开始而不调试”来验证这一点。

如果要更改设置,请浏览到菜单到 Debug -> Exceptions,您应该会看到以下内容。然后取消选中“用户未处理”。

就个人而言,我建议在大多数情况下保持设置不变。在寻找未处理的异常时,它确实很有帮助。

Visual Studio 调试异常

于 2013-10-14T19:59:04.763 回答