הערה
הגישה לדף זה מחייבת הרשאה. באפשרותך לנסות להיכנס או לשנות מדריכי כתובות.
הגישה לדף זה מחייבת הרשאה. באפשרותך לנסות לשנות מדריכי כתובות.
Question
Thursday, June 9, 2011 8:19 PM
Is there any difference between Exit and Return?Karl~
All replies (5)
Thursday, June 9, 2011 8:29 PM ✅Answered | 1 vote
Return sets the object value of the Method before leaping to the end of a Method scope. It only affects Methods.
Exit leaps to the end of the current scope immediately; you can Exit Do, Exit For, Exit Sub, etc etc. This does NOT set the object value of the Method.
If you Return from inside a Do or For, the whole Method is done and the Method's value will be whatever follows the Return keyword.
It never hurts to try. In a worst case scenario, you'll learn from it.
Thursday, June 9, 2011 8:28 PM
Is there any difference between Exit and Return? Karl~
Hello Karl Fetterhoff
the return statement in a code statement returns a value ends a variable inside a function, see example below
http://msdn.microsoft.com/en-us/library/2e34641s.aspx
the exit statement when paired instead ends ona sub ExitSub example, a function ExitFunction or exit from a loop iteration, and more, see the following link
http://msdn.microsoft.com/en-us/library/t2at9t47.aspx
Hello
Carmelo La Monica http://community.visual-basic.it/carmelolamonica/
Thursday, June 9, 2011 8:29 PM
Return is for functions and returns what ever the function was supposed to return like
Function GetName() As String
Return "Sam"
End Function
Exit bails out with out returning any vaule and used in Subs, Loops and what not like
Sub DoSomething(ByVal WithWhat As String)
If String.IsNullOrEmpty(WithWhat) Then
'bails out of sub
Exit Sub
End If
Select Case WithWhat
Case "Car"
For Each Model In Cars
If Model.Name = "Jalopie" Then
'bails out of for each loop
Exit For
End If
Next
Case "Bike"
'would bail out of the select statement
Exit Select
Case "Cart"
End Select
End Sub
Thursday, June 9, 2011 9:37 PM
"Exit Sub" and "Return" are identical when used in 'sub' methods.
"Exit Function" is identical to "Return <some value>", except that the value returned is either the last value assigned to the function name or the function type default value if no value was assigned to the function name. The "Exit Function" form is outdated and confusing to people without a background in VB.
Convert between VB, C#, C++, & Java (http://www.tangiblesoftwaresolutions.com)
Thursday, June 9, 2011 11:14 PM
Thanks Andrew for clearing that up for me. I figured there was a subtle difference. Your explanation is most helpful. I was never really sure about the consequences of executing a Return while inside a Loop. Nice to know I'm not the only one sweating the details. :)Karl~