C# 使用“将多个捕捉块更改为单个捕捉时发生构建时错误”;什么时候;

C# 使用“将多个捕捉块更改为单个捕捉时发生构建时错误”;什么时候;,c#,asp.net-mvc,C#,Asp.net Mvc,我将catch块从注释行更改为未注释行。更改后,visual studio不显示任何错误消息,但在生成后,它会在图像中显示错误 try { var settings = (from u in db.UserSettings where u.UserId == userID

我将catch块从注释行更改为未注释行。更改后,visual studio不显示任何错误消息,但在生成后,它会在图像中显示错误

try
                        {
                            var settings = (from u in db.UserSettings
                                            where u.UserId == userID
                                            select u).Single();

                            settings.CurrentPageId = PageID;
                        }
                        catch (Exception ex) when (ex is InvalidOperationException || ex is ArgumentNullException || ex is Exception)
                        //catch (InvalidOperationException) 
                        //{
                        //    // No setting saved before. Create default setting
                        //    UserSetting newSetting = new UserSetting();
                        //    newSetting.UserId = userID;
                        //    newSetting.CurrentPageId = PageID;

                        //    db.UserSettings.InsertOnSubmit(newSetting);
                        //    db.SubmitChanges();
                        //}
                        //catch(ArgumentNullException)
                        //{
                        //    // No setting saved before. Create default setting
                        //    UserSetting newSetting = new UserSetting();
                        //    newSetting.UserId = userID;
                        //    newSetting.CurrentPageId = PageID;

                        //    db.UserSettings.InsertOnSubmit(newSetting);
                        //    db.SubmitChanges();
                        //}
                        //catch(Exception)
                        {
                            // No setting saved before. Create default setting
                            UserSetting newSetting = new UserSetting();
                            newSetting.UserId = userID;
                            newSetting.CurrentPageId = PageID;

                            db.UserSettings.InsertOnSubmit(newSetting);
                            db.SubmitChanges();
                        }

当我将代码复制到一个新的空白控制台应用程序时,您的代码正在工作。尝试清理和重建您的解决方案,并确保Try-catch块周围没有任何错误(只需确保在您对整个问题进行注释时它会生成),大多数情况下,第一个错误是导致问题的错误,请先查看该错误。