一点背景。我为各种平台编写了许多数据转换应用程序,并且不习惯使用断点,异常处理等。
我有一系列转换类型方法,它们将采用对象输入(通常直接从sqldatareader 中使用)并将其转换为特定类型输出,如果无法执行则返回默认值直接转换。这是一个例子:
public int? GetNullInt(object obj)
{
try
{
int blah = Convert.ToInt32(obj);
if (blah == 0)
return null;
else
return blah;
}
catch (Exception ex)
{
return null;
}
}
在这种情况下,如果对象不是int或者是0,我想返回null。
现在..问题是,即使这个代码被包装在try / catch中,由于某种原因,在这个单一的应用程序(Windows窗体,C#,.NET 4.5.2)中,Visual Studio在输入时会中断string不是预期的格式。休息问我是否要打破这种类型的异常(复选框未选中),但无论我设置什么设置,它都会一直打破,即使我正在捕获异常(可以在catch中设置断点并“继续“它,所以我知道try / catch正在运行)。我有“重置为默认”VS中的异常设置,仍然没有乐趣。
现在我知道我可以稍微改变这个方法来使用int.TryParse(我现在要这样做),但这并没有解决为什么VS首先破坏的根本问题,因为这不是一个未处理的例外。
有什么想法吗?
(这是休息的截图)
答案 0 :(得分:3)
在visual studio中,您有一个名为Exception settings的新窗口。 按Ctrl + Alt + E后会出现此窗口。
在此窗口中,您可以设置异常处理。
您的代码在我的Visual Studio Desktop For Express 2015中运行良好。
您只需取消选中此窗口中的所有内容即可。 请参考图片。
您可以参考下面的帖子,这与您想要的完全相同。
Visual Studio 2015 break on unhandled exceptions not working
答案 1 :(得分:0)