Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Visual Studio在不应使用时中断。。。有人知道为什么吗?_C#_Visual Studio - Fatal编程技术网

C# Visual Studio在不应使用时中断。。。有人知道为什么吗?

C# Visual Studio在不应使用时中断。。。有人知道为什么吗?,c#,visual-studio,C#,Visual Studio,有点背景。我为各种平台编写了许多数据转换应用程序,对于使用断点、异常处理等方面我不是新手 我有一系列转换类型方法,它们将获取对象输入(通常直接从sqldatareader中使用)并将其转换为特定类型的输出,如果无法进行直接转换,则返回默认值。以下是一个例子: public int? GetNullInt(object obj) { try { int blah = Convert.ToInt32(obj);

有点背景。我为各种平台编写了许多数据转换应用程序,对于使用断点、异常处理等方面我不是新手

我有一系列转换类型方法,它们将获取对象输入(通常直接从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也会中断。中断会询问我是否要中断这种类型的异常(未选中复选框),但无论我设置了什么设置,它都会不断中断,即使我正在捕获异常(可以在catch中设置断点并“继续”,这样我就知道try/catch正在运行)。我在VS中有“重置为默认值”的异常设置,仍然没有乐趣

现在我知道我可以稍微更改此方法以使用int.TryParse(现在我将这样做),但这并不能解决为什么VS首先会中断的根本问题,因为这不是一个未处理的异常

有什么想法吗

(这是休息的截图)


在visual studio中,您有一个名为“异常设置”的新窗口。 按Ctrl+Alt+E组合键后将显示此窗口

在此窗口中,您可以设置异常处理

您的代码在我的Visual Studio桌面For Express 2015中运行良好

您只需取消选中此窗口中的所有内容。 请参考图片

你们可以参考下面的帖子,这和你们想要的完全一样


在visual studio中,您有一个名为“异常设置”的新窗口。 按Ctrl+Alt+E组合键后将显示此窗口

在此窗口中,您可以设置异常处理

您的代码在我的Visual Studio桌面For Express 2015中运行良好

您只需取消选中此窗口中的所有内容。 请参考图片

你们可以参考下面的帖子,这和你们想要的完全一样


从屏幕截图上看,调试器设置中没有启用“仅我的代码”


如果未启用该设置,则无法使用visual studio的“仅捕获未处理的异常”功能。

从屏幕截图看,调试器设置中未启用“仅我的代码”



如果未启用该设置,则不能使用“仅捕获未处理的异常”visual studio的功能。

您的
catch
子句中的
Exception
类型到底是什么?您能否共享此函数调用的代码及其调用的数据?您的代码在我的VS 2015社区中工作,您还没有告诉VS在所有异常上中断?异常是基本异常类型。是的,它也适用于我所有的其他应用程序-它只是一个恼人的应用程序,它不工作,我一辈子都不明白为什么。。。我这里有太多的代码,为它创建一个新的应用程序并不简单。此调用时的输入变量是空字符串。它应该触发catch并返回null。。。简言之,它不应该在这里断裂,但它是。。。。这真是令人恼火。你的
catch
子句中的
Exception
类型到底是什么?你能分享这个函数调用的代码和调用它的数据吗?你的代码在我的VS 2015社区中工作,你还没有告诉VS打破所有的异常?异常是基本的异常类型。是的,它也适用于我所有的其他应用程序-它只是一个恼人的应用程序,它不工作,我一辈子都不明白为什么。。。我这里有太多的代码,为它创建一个新的应用程序并不简单。此调用时的输入变量是空字符串。它应该触发catch并返回null。。。简言之,它不应该在这里断裂,但它是。。。。这真是令人讨厌,哈哈。我想这不是问题所在。他得到的对话框不是您通常会得到的异常对话框。我认为他禁用了“仅我的代码”,这完全改变了调试器处理异常的方式。我在我这边执行了相同的操作。它工作正常,当我选中所有复选框为true时,它也出现了相同的异常。并且仅启用我的代码也在我这边启用,不会引起任何问题。Jason可以做一件事,他只需要选中和取消选中异常设置窗口中的所有复选框。也许这是个奇怪的问题,我想这不是问题所在。他得到的对话框不是您通常会得到的异常对话框。我认为他禁用了“仅我的代码”,这完全改变了调试器处理异常的方式。我在我这边执行了相同的操作。它工作正常,当我选中所有复选框为true时,它也出现了相同的异常。并且仅启用我的代码也在我这边启用,不会引起任何问题。Jason可以做一件事,他只需要选中和取消选中异常设置窗口中的所有复选框。也许这是个奇怪的问题。