-3

在下面的代码中,它下面有Exit Function一条绿线,上面写着

空引用异常并非所有路径都返回值。

我如何退出并在退出时让它返回一些东西?

你能帮忙吗?

    Protected Sub Page_Load()

        test()

    End Sub



    Function test() As String

        Exit Function

        Return ""

    End Function
4

3 回答 3

5

只需删除该Exit Function行并返回您想要的。或者你想完全退出程序?它们是两种不同的东西。

于 2013-01-18T14:51:58.797 回答
3

您通常只使用Return退出 a FunctionorSub并从 a 返回值Function

Function MyMethod() As String
    Return "Some Stuff"
End Function

如果你想用来Exit从 a 返回一个值Function,你必须给你的“赋值”一个值Function(实际上,编译器将在内部创建一个将返回的变量):

Function MyMethod() As String
    MyMethod = "Some Stuff"

    Exit Function
End Function

但是,您应该只使用Return. 该Exit声明只是旧的、已弃用的 VB6 遗产。

于 2013-01-18T15:03:55.337 回答
1

调用Return也会退出函数。你不需要调用(实际上,你不应该调用)退出函数。此外,如果要使用函数,则需要将函数的结果分配给变量。

Protected Sub Page_Load()

    Dim result As String = test()
    'Do something with result

End Sub

Function test() As String

    Return "test string"

End Function
于 2013-01-18T15:02:55.887 回答