我主要使用 VB.Net 工作了一年多,刚刚注意到这一点
我疯了吗,还是 VB.Net 疯了?NOT有“无法访问代码”警告吗?
即使两个 writeline 调用之间有返回,以下代码也能顺利编译,没有任何警告或错误。
Sub Main()
Console.WriteLine("Hello World")
Return
Console.WriteLine("Unreachable code, will never run")
End Sub
我错过了什么吗?有什么方法可以打开它,我找不到。
如果没有,是否有充分的理由省略? (即,或者我认为这是一个悲惨的事态是正确的)
请原谅我对这个问题的咆哮,这不是咆哮,我想要一个答案。
Thanks
我已经提出了这个问题微软连接 http://connect.microsoft.com,如错误#428529
Update
我从 VB Teams 项目经理那里收到了以下信息
感谢您抽出时间来报告
这个问题。编译器有限制
支持这种情况,并且当您
指出我们没有警告
无法访问的代码。有一些
我们的流程分析的场景
算法确实处理,例如
下列的:
Sub Main()
Dim x As Integer
Return
x = 4
End Sub
在这种情况下,您会收到一条警告:
x 从未被分配过。为了
你提到的情况,但是我们会有
考虑实施该计划
未来的版本。
我的猜测是这是编译器的疏忽。在任何语言中,流程控制都是一个很难正确解决的问题,尤其是像 VB 这样具有多种不同流程控制机制的语言。例如,
- 例外情况
- Goto
- 出错时(恢复、转到等...)
- 退出通话
如果您对这个问题有强烈的感受,please提交错误Connect https://connect.microsoft.com/VisualStudio。我们非常重视通过 Connect 提交的错误,并尽最大努力修复尽可能多的错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)