我有以下代码,我的代码没有捕获异常。
在我的代码中,我试图读取所有授予访问权限的文件。
var pathsToSearch = new Queue<string>();
var foundFiles = new List<string>();
pathsToSearch.Enqueue(startFolder);
while (pathsToSearch.Count > 0) {
var dir = pathsToSearch.Dequeue();
try {
var files = Directory.GetFiles(dir);
foreach (var file in Directory.GetFiles(dir)) {
foundFiles.Add(file);
}
foreach (var subDir in Directory.GetDirectories(dir)) {
pathsToSearch.Enqueue(subDir);
}
}
catch (UnauthorizedAccessException e)
{
Console.WriteLine(e);
}
}
为什么try catch无法正常工作或我的代码中有错误?
答案 0 :(得分:1)
听起来您正在从Visual Studio运行程序,Visual Studio默认捕获First Chance Exceptions。您可以在Visual Studio中关闭此选项。我相信这是在Debug&gt;例外,但您也可以从显示异常的弹出对话框中禁用它。
这是一篇可能有用的微软文章:Understanding Exceptions while debugging with Visual Studio