2013-01-18 34 views
-3

Exit Function下面的代碼返回一個值,表明下一個綠色的線說空引用異常並非所有路徑的退出功能

空引用異常並不是所有的路徑返回一個值。

我該如何退出並在退出時讓它返回一些東西?

你能幫忙嗎?

Protected Sub Page_Load() 

     test() 

    End Sub 



    Function test() As String 

     Exit Function 

     Return "" 

    End Function 

回答

5

只要刪除Exit Function行並返回你想要的。或者你想完全退出該程序?他們是兩回事。

+0

我想退出函數返回將做的伎倆。我爲什麼使用一個子?我也回來嗎?謝謝 –

+1

對於'Sub'你使用'Exit Sub' – bluevector

+1

對於Subs你也可以使用return。實際上根本不需要退出聲明。 – sloth

1

調用Return也退出該功能。你不需要調用(實際上,你永遠不應該調用)Exit Function。另外,如果你想使用它,你需要將函數的結果分配給一個變量。

Protected Sub Page_Load() 

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

End Sub 

Function test() As String 

    Return "test string" 

End Function 
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遺留問題。