C# 使用“将多个捕捉块更改为单个捕捉时发生构建时错误”;什么时候;
我将catch块从注释行更改为未注释行。更改后,visual studio不显示任何错误消息,但在生成后,它会在图像中显示错误C# 使用“将多个捕捉块更改为单个捕捉时发生构建时错误”;什么时候;,c#,asp.net-mvc,C#,Asp.net Mvc,我将catch块从注释行更改为未注释行。更改后,visual studio不显示任何错误消息,但在生成后,它会在图像中显示错误 try { var settings = (from u in db.UserSettings where u.UserId == userID
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块周围没有任何错误(只需确保在您对整个问题进行注释时它会生成),大多数情况下,第一个错误是导致问题的错误,请先查看该错误。