title: Minimal requirement for Try/Catch block
body: <p>I posted a code example in <a href="https://stackoverflow.com/questions/19335866/subclass-an-original-net-class">previous question</a> and here is critical part:</p>
  
  <pre><code>Try
      first = _string.IndexOf(_firstchar) + 1
      second = _string.IndexOf(_secondchar)
      If first &gt;= 1 And second &gt;= 0 Then
          retval = _string.Substring(first, second - first)
      End If
  Catch ex As Exception
  End Try
  </code></pre>
  
  <p>One of experienced VB users say that such usage of Try/Catch is "evil".</p>
  
  <p>Why is such usage "evil" and what is minimally enough to get program to continue when we don't want to bother with error?</p>