我最近遇到了这个问题,而且没有意义。
以下代码段是真实的:
try
{
File.Create(targetFile);
//File.WriteAllText(targetFile, $"test {DateTime.Now.ToString()}");
}
catch (UnauthorizedAccessException uaex)
{
}
我已经逐步检查了它,一旦我使用调试器到“File.Create()”方法,异常就会上升,并且它也不会进入catch块,如果我删除了try-catch,它不会冒泡到包含它的方法的调用。
任何人都知道为什么try-catch和冒泡不起作用?
PS。我试图创建文件的位置是故意写保护的,这只是检查它是否是一种方法。
答案 0 :(得分:0)
我犯了一个错误。
实际上正在捕获异常,如果你在catch块中放入任何东西,它就会执行。
公平地说,调试器让我感到困惑,通过在调用方法时显示异常弹出窗口,但是通过重新启动IDE解决了这个问题