我有以下編碼InvalidOperationException異常在try/catch塊忽略
try
{
var foundCanProperty = properties
.First(x => x.Name == "Can" + method.Name);
var foundOnExecuteMethod = methods
.First(x => x.Name == "On" + method.Name);
var command = new Command(this, foundOnExecuteMethod, foundCanProperty);
TrySetCommand(foundControl as Control, command);
}
catch (InvalidOperationException ex)
{
throw new FatalException("Please check if you have provided all 'On' and 'Can' methods/properties for the view" + View.GetType().FullName, ex);
}
我預料的是,如果methods.First()(在第二var語句)引發InvalidOperationException,我就能抓住它。但是,這似乎不是這種情況(catch塊被忽略,應用程序終止並引發異常)。如果我在try塊中拋出同一類型的異常,它會被捕獲。 Linq是否使用多線程處理,以便在另一個線程中拋出異常?也許我也做一個愚蠢的錯誤在這裏,只是沒有看到它:(。
感謝您的幫助!
Linq的延遲執行再次襲擊?很難從代碼中看出來。注意異常的調用堆棧。 –