1
說我寫LINQ查詢有關我的C驅動器上的隱藏文件信息:我可以在LINQ投影中捕獲異常嗎?
var q2 =
from c in Directory.EnumerateFiles("C:\\")
where Regex.IsMatch(c, @"^C:\\\.")
select c;
var q3 =
from c in q2
let info = new
{
File = c,
FileSecurity = File.GetAccessControl(c),
FileAttributes = File.GetAttributes(c),
CreatedUTC = File.GetCreationTimeUtc(c),
AccessedUTC = File.GetLastAccessTimeUtc(c),
ModifiedUTC = File.GetLastWriteTimeUtc(c)
}
select info;
以上是可能要繼續下去,當一個異常被捕獲邏輯的例子,但我不知道如何讓這種風格的C#編程發生(或者如果可能的話)。
從概念上講,我想要一些可以放在圍繞LINQ查詢的catch塊主體中的「continue」語句。
try
{
// LINQ QUERY
}
catch(Exception ex)
{
Logger.Log("error...");
continue;
}
等待,這不是一個辦法繼續foreach循環:( – 2011-04-17 16:45:11
@Gabriel,看到我的更新,安全地繼續循環,即使是一個異常也被拋出 – 2011-04-17 17:03:29
謝謝!這是令人印象深刻的:) – 2011-04-17 17:12:48