Exit Function
, Exit Property
, and Exit Sub
are all poor, less-readable substitutes for a simple
Return
, and if used with code that should return a value (Exit Function
and in some cases Exit Property
) they
could result in a NullReferenceException
.
This rule raises an issue for all their usages.
Noncompliant code example
Public Class Sample
Public Sub MySub(Condition As Boolean)
If Condition Then Exit Sub ' Noncompliant
' ...
End Sub
Public Function MyFunction(Condition As Boolean) As Integer
If Condition Then
MyFunction = 42
Exit Function ' Noncompliant
End If
' ...
End Function
End Class
Compliant solution
Public Class Sample
Public Sub MySub(Condition As Boolean)
If Condition Then Return ' Noncompliant
' ...
End Sub
Public Function MyFunction(Condition As Boolean) As Integer
If Condition Then Return 42
' ...
End Function
End Class