0

我有一个 try catch 语句,当代码抛出异常时,它不会超过这一点。

我按 F5/F10 并且代码继续运行同一行代码。

这与VS2012中的设置有关吗?

调用代码:

       if (!string.IsNullOrEmpty(connections.xmlconSIPPPremium))
                    {
                        try
                        {
                            DataTable dt = GetUtilityFiles(connections.xmlconSIPPPremium);
                            foreach (DataRow dr in dt.Rows)
                            {
                                File.WriteAllBytes(_rootDirectory + @"\" + dr["UtilityName"], (byte[])dr["UtilityBytes"]);
                            }
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message);
                        }

                    }
                    else if (!string.IsNullOrEmpty(connections.xmlconSSASPremium))
                    {
                        try
                        {
                            DataTable dt = GetUtilityFiles(connections.xmlconSSASPremium);
                            foreach (DataRow dr in dt.Rows)
                            {
                                File.WriteAllBytes(_rootDirectory + @"\" + dr["UtilityName"], (byte[])dr["UtilityBytes"]);
                            }
                        }
                        catch(Exception ex)
                        {
                            MessageBox.Show(ex.Message);
                        }

                    }
                }

问题:

    private DataTable GetUtilityFiles(string strCon)
    {
        DataTable dt = new DataTable();

        using (SqlConnection con = new SqlConnection(strCon))
        {
            try
            {
                using (SqlCommand cmd = new SqlCommand("[dmm].[vertUtility_Select]", con))
                {
                    SqlDataAdapter sda = new SqlDataAdapter(cmd); 
                    sda.Fill(dt);         
                }
            }
            catch (Exception ex)
            {
                throw;
            }
            return dt;
        }
    }

谢谢!

4

2 回答 2

1

只是你想关掉“异常助手”吗?

工具 -> 选项 -> 调试 -> 启用异常助手 [未选中]

然后异常不会停止执行。

希望这可以帮助!

于 2013-06-04T11:01:22.177 回答
1

调试时确实在 VS2012 中有一个设置,你想如何处理异常。检查下调试 - >异常...

当您将异常检查为“抛出”时,调试器将在该异常处停止。阅读有关“首次机会例外”的更多信息:什么是“首次机会例外”?

阅读更多关于 VS2012 中的异常处理:http: //msdn.microsoft.com/query/dev11.query ?appId=Dev11IDEF1&l=EN-US&k=k(vs.debug.exceptions);k(TargetFrameworkMoniker-.NETFramework,Version% 3Dv4.0);k(DevLang-csharp)&rd=true

此外,在调试时,您会看到异常帮助和对话框,您可以取消选中该特定异常发生时中断的选项。

在此处输入图像描述

于 2013-06-04T11:02:03.743 回答