Throwing such general exceptions as Exception, SystemException, ApplicationException,
IndexOutOfRangeException, NullReferenceException, OutOfMemoryException and
ExecutionEngineException prevents calling methods from handling true, system-generated exceptions differently than application-generated
errors.
Public Sub DoSomething(obj As Object)
If obj Is Nothing Then
' Noncompliant
Throw New NullReferenceException("obj")
End If
' ...
End Sub
Public Sub DoSomething(obj As Object)
If obj Is Nothing Then
Throw New ArgumentNullException("obj")
End If
' ...
End Sub