title: Refactoring with generic and delegates
body: <p>I have the following code:</p>
  
  <pre><code>Type1 Method1(Type2 p)
  {
      try
      {
          return DoSomething(p)
      }
      catch{ExceptionType1}
      {
      }
      catch{ExceptionType2}
      {
      }
      catch{ExceptionType3}
      {
      }
  }
  
  Type3 Method2(Type4 p)
  {
      try
      {
          return DoSomethingElse(p)
      }
      catch{ExceptionType1}
      {
      }
      catch{ExceptionType2}
      {
      }
      catch{ExceptionType3}
      {
      }
  }
  </code></pre>
  
  <p>How can i refactor this code to have something like:</p>
  
  <pre><code>TResult ExceptionalMethod(Methodx(T)){
      try
      {
          return Methodx(T);
      }
      catch{ExceptionType1}
      {
      }
      catch{ExceptionType2}
      {
      }
      catch{ExceptionType3}
      {
      }
  }
  </code></pre>
  
  <p>Thank you,
  Adrya</p>