函数“<procedurename>”并非在所有代码路径上都返回值

更新:2007 年 11 月

错误消息

函数“<procedurename>”并非在所有代码路径上都返回值。当使用该结果时,可能会在运行时发生 null 引用异常。

Function 过程具有至少一个通过其代码的可能路径,但不返回值。

可以采用以下任意方式从 Function 过程返回值:

  • 将值赋给 Function 过程名,然后执行 Exit Function 语句。

  • 将值赋给 Function 过程名,然后执行 End Function 语句。

  • Return 语句 (Visual Basic) 中包括值。

如果控制传递到 Exit Function 或 End Function,并且尚未将任何值赋给过程名,则过程将返回该返回数据类型的默认值。有关更多信息,请参见 Function 语句 (Visual Basic) 中的“行为”。

默认情况下,此消息是一个警告。有关隐藏警告或将警告视为错误的更多信息,请参见 在 Visual Basic 中配置警告

**错误 ID:**BC42105

更正此错误

  • 检查控制流逻辑,并确保在每个导致返回的语句前赋值。

    如果总是使用 Return 语句,那么,保证每次从过程返回均返回一个值将较为容易。如果这样做,End Function 之前的最后一个语句应为 Return 语句。

请参见

概念

Function 过程

参考

Function 语句 (Visual Basic)