空引用异常并非所有路径都返回Exit函数中的值

时间:2013-01-18 14:50:27

标签: .net vb.net

在下面的代码中,Exit Function下方的绿线显示

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

如何退出并退出以使其返回某些内容?

你能帮忙吗?

    Protected Sub Page_Load()

        test()

    End Sub



    Function test() As String

        Exit Function

        Return ""

    End Function

3 个答案:

答案 0 :(得分:5)

只需删除Exit Function行并返回您想要的内容即可。或者你想完全退出程序?他们是两件不同的事情。

答案 1 :(得分:3)

您通常只需使用Return退出FunctionSub并从Function返回值。

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

如果要使用ExitFunction返回值,则必须为Function“赋值”(实际上,编译器将在内部创建变量)将被退回):

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

    Exit Function
End Function

但是,您应该使用ReturnExit语句只是一个旧的,不推荐使用的VB6遗产。

答案 2 :(得分: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