抛出异常后,应用程序不会退出

时间:2013-10-14 19:18:06

标签: c# exception-handling

我有异常(对我而言)抛出异常的问题。异常被抛出后,应用程序循环并且不会退出。

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

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

上一遍又一遍地循环

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

我甚至试过把它放进去:

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

但最终{}阻止永远不会被击中。

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

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

更新: 问题与我的项目无关。我刚刚创建了一个只有

的简单控制台应用程序
throw new FileNotFoundException();

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

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

1 个答案:

答案 0 :(得分:4)

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

您可以按“启动而不调试”来验证这一点。

如果要更改设置,请浏览菜单以调试 - >例外,您应该看到以下内容。然后取消选中“User-unhandled。”

就个人而言,我建议在大多数情况下保留设置。在追捕未处理的异常时,它确实很有用。

Visual Studio Debug Exceptions