title: What's the best way to avoid try...catch...finally... in my unit tests?
body: <p>I'm writing many unit tests in VS 2010 with Microsoft Test. In each test class I have many test methods similar to below:</p>
  
  <pre><code>[TestMethod]
  public void This_is_a_Test()
  {
    try
    {
      // do some test here
      // assert
    }
    catch (Exception ex)
    {
      // test failed, log error message in my log file and make the test fail
    }
    finally
    {
      // do some cleanup with different parameters
    }
  }
  </code></pre>
  
  <p>When each test method looks like this I fell it's kind of ugly. But so far I haven't found a good solution to make my test code more clean, especially the cleanup code in the finally block. Could someone here give me some advices on this?</p>
  
  <p>Thanks in advance.</p>