【发布时间】:2012-07-11 04:56:00
【问题描述】:
我想知道你以前是否遇到过这个错误: 在单行 IF 中,条件返回 FALSE,但随后执行继续到 TRUE 部分。
我在这里做错了吗? retries 和 errorTolerance 都是 Integer 类型,从下面的屏幕截图中,retries 小于 errorTolerance。但它仍然执行True 部分的语句。
这搞砸了我的程序,所以我所做的就是将Throw New Exception 放在另一行并用End If 关闭,这样就可以了。
我想我的问题是我之前的代码有什么问题?
【问题讨论】:
-
问题是否存在没有调试? (我有一个..类似的模糊回忆?..所以很久以前发过。)
-
会不会是多线程或可重入代码问题?
-
是的,它仍然进入语句的 True 部分,没有放置断点。
-
旁注:抛出这样的 new 异常是个坏主意 - 您会丢失所有堆栈跟踪信息、任何内部异常、其他有用属性等。要么有一个普通的
Throw(将重用现有的异常),或者抛出一个带有特定消息的新异常并将ex作为InnerException传递。 -
您是否尝试过构建->清洁解决方案,然后是构建->完全重建?
标签: asp.net vb.net debugging if-statement visual-studio-2005