Vb.net 功能'&书信电报;程序重命名>';不';t在所有代码路径上返回一个值

Vb.net 功能'&书信电报;程序重命名>';不';t在所有代码路径上返回一个值,vb.net,Vb.net,我知道错误和原因。我只是好奇。对于某些项目,这会显示为警告,而对于其他项目,这根本不会显示 如何设置以显示警告?警告信息: 有关如何隐藏或将其视为错误的信息:转到项目设计器的编译选项卡 注意:创建的对象类型不同。在下面的示例中,只有test1给出警告,而不是test2函数 Function test1() As String End Function Function test2() As Integer End Function 您还可以使用编译器选项隐藏警告或将其作为错误进行威胁。此

我知道错误和原因。我只是好奇。对于某些项目,这会显示为警告,而对于其他项目,这根本不会显示


如何设置以显示警告?

警告信息:

有关如何隐藏或将其视为错误的信息:转到项目设计器的编译选项卡

注意:创建的对象类型不同。在下面的示例中,只有test1给出警告,而不是test2函数

Function test1() As String

End Function

Function test2() As Integer

End Function
您还可以使用编译器选项隐藏警告或将其作为错误进行威胁。此特定警告的ID为42105: 无返回值警告的函数或运算符

当函数没有指定返回值时生成。 新项目的默认设置为启用。ID:42105功能

有关其工作原理的更多信息,请参见此处:

当Option Strict设置为Off时,与Option Strict相关的警告不能相互独立处理。当Option Strict设置为On时,关联的警告将被视为错误,无论其状态如何。通过在命令行编译器中指定/optionstrict:Custom将Option Strict设置为Custom时,可以单独打开或关闭Option Strict警告


您正在运行哪个版本的visual studio?你能发布一些没有显示此警告的代码吗?我使用的是VS2010,我得到了上面两个示例的警告,正如@Matt在你的问题中所问的,你能提供一个不会触发警告的示例吗?程序员在函数和Catch部分使用Try/Catch块时,通常会“忽略”这些错误,只是将错误传递给调用方法,而不是实际返回值。如果你真的想摆脱它们,你必须在Try/Catch块后添加某种类型的Return语句。如果Try部分总是返回一些东西,那么它就永远不会碰到这个“伪”返回值,但是如果Catch语句继续执行而不是抛出错误,那么返回应该是调用方法将作为错误/失败处理的内容。哦,如果你有一个项目没有显示警告,但是你知道有一个方法可以触发它,那么这个项目已经被配置为@Stefan,以抑制特定的警告。我使用的是2010。我打开一个项目,它显示警告。我打开了另一个没有显示的。两个项目打开相同的vb文件+1尽管如此,我知道这听起来很奇怪,我想你也知道,但是在没有显示警告的项目中,你是否切换了错误列表窗口上的警告按钮?我相信你已经说过了,但我只是想说一下,以防万一:)