Throwing an exception from within a finally block will mask any exception which was previously thrown in the try or catch
block, and the masked’s exception message and stack trace will be lost.
Try
' Some work which end up throwing an exception
Throw New ArgumentException()
Finally
' Clean up
Throw New InvalidOperationException() ' Noncompliant; will mask the ArgumentException
End Try
Try
' Some work which end up throwing an exception
Throw New ArgumentException()
Finally
' Clean up
End Try