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