views:

1524

answers:

3

Both seem to accomplish the same thing--exit a subroutine. Is there any difference in how they work under the covers?

I.e.

Private Sub exitNow()
  Exit Sub
End Sub

or

Private Sub exitNow()
  Return
End Sub
A: 

I haven't disassembled but I'll bet there's no difference. Why would there be?

Joshua
+7  A: 

From the doc:

In a Sub or Set procedure, the Return statement is equivalent to an Exit Sub or Exit Property statement, and expression must not be supplied.

So they're the same in this context.

RBarryYoung
In this context?
Keand64
Return (value) is used in functions and property.get's. Obviously slightly different in that context.
RBarryYoung
+2  A: 

While there are exceptions like guard clauses, in most cases I would consider either a sign that the method is too long.

Joel Coehoorn
+1 ............
madcolor