2016-03-29 45 views
0

是不是这种情况下应该抛出异常? 即时传递一个字符串类型的变量,其值为无returenComboSelectedIndex()函数,以检查它是否包含其他字符串,并且没有异常。为什么VS不是在试图检查空字符串是否包含字符串时抛出异常

tryed与断点调试和,而不是提高其移动在一些其他类存在的文件中,然后给其他线程来处置子的异常运行的背景(为什么?),而不是提高“对象引用未设置为对象”的例外情况,它应该如此。

有没有什么问题我的VS的调试属性? 我错过了别的吗?

谢谢

Private Sub showPredictionStructure(ByVal existingInDb As Boolean, _ 
            ByVal pStruct As ProjectData.PredictedProjectEnding _ 
            , Optional ByVal integrationStruct As ProjectData.integrationData = Nothing) 

comboIntagrationProffesional.SelectedIndex = returenComboSelectedIndex(Nothing, comboIntagrationProffesional) 

End Sub 

    Private Function returenComboSelectedIndex(ByVal itm As String, ByVal combo As ComboBox) As Integer 

     For i = 0 To combo.Items.Count - 1 
      If itm.Contains(combo.Items(i).ToString) Or combo.Items(i).ToString.Contains(itm) Then 
       Return i 
      End If 
     Next 

     Return -1 

    End Function 
+1

无法重现所描述的行为。它为我引发一个'NullReferenceException'。 – David

+0

我怀疑如果你创建一个* minimal *的例子,你会发现你不能再现这种行为。代码的* rest *是做什么的?如果继续调试会发生什么?应用程序崩溃了吗?因为应用程序由于未处理的错误而终止,是否调用Dispose? –

+0

嗨allredy尝试创建一个最小的例子,在这种情况下,异常提出像它应该。我知道这是一个奇怪的行为,但我检查了一次以上。在运行的后期阶段发生的情况是,调用showPredictionStructure()的子进程正在退出,并且代码一直运行,直到出现其他异常。对不起,在手机上的拼写和错误即时 – jonathana

回答

1
Debug >>> Windows >>> Exception Settings 

检查:

C++ Exceptions 
Common Language Runtime Exception 

如果他们已经检查请采取额外的行动没有被设置为:

“继续当在用户代码中未处理“

+0

tnx,我试着在异常设置(我有VS 2012,所以它有点不同的属性菜单)根据你写的也根据MSDN文件的一些变化,但问题仍然存在。它是更合理的,其相关的尝试捕获某处,因为当我做了一个最小的例子抛出异常,所以我已经评论所有的尝试捕获相关,但仍然没有改变... – jonathana

+0

然后做Ctrl + F和写捕捉和搜索它。不应该有空的捕获,所以这必须写入一些日志。如果他们是空的搜索stackoverflow处理异常的好方法。 – Claudius

0

您可能有一个Try..Catch捕捉异常。

尝试通过@Claudius所说的重置您的例外设置。

你是否从VS得到任何错误,告诉你你的调试符号与你的调试代码不同?尝试清理整个项目,重建并使用断点进行调试。

相关问题