【发布时间】:2017-07-22 00:55:07
【问题描述】:
我遇到了一个相当奇怪的问题。
这是我的代码:
private async Task BreakExpectedLogic()
{
bool test = false;
if (test == true)
{
Console.WriteLine("Hello!");
throw new Exception("BAD HASH!");
}
}
看起来很简单,它不应该打到Console.WriteLine 或throw。
出于某种原因,它总是点击throw。
如果我将throw 移动到它自己的方法中,那么它可以正常工作。我的问题是它如何忽略if 块并点击throw new Exception:
编辑 1:我已更新我的代码以包含签名,我已删除与此问题无关的所有内容并运行它,它仍然会发生。
【问题讨论】:
-
@TimSchmelter 图片正在调试中,黄色高亮是代码所在的位置
-
我刚刚创建了一个空白的核心控制台应用程序,只将您的代码粘贴到了
Main和....惊喜,norepro。要么你弄错了,要么你错过了一些重要的细节。 -
这是在
async方法中吗?因为它看起来类似于stackoverflow.com/questions/42528458/… -
@George:仍然没有证据,因为您可能使用旧的调试符号。在调试模式下重新编译,然后重新开始。
-
@TimSchmelter 我已经重新编译、清理、重新打开项目尝试了不同的 if 方法,但还是一样
标签: c# .net visual-studio .net-core