How to structure code with 2 methods, one after another, which throw the same two exceptions?
<p>I have two methods, one called straight after another, which both throw the exact same 2 exceptions (IF an erroneous condition occurs, not stating that I'm getting exceptions).</p>

<p>For this, should I write seperate try and catch blocks with the one statement in each try block and catch both exceptions (Both of which I can handle as I checked MSDN class library reference and there is something I can do, eg, re-open SqlConnection or run a query and not a stored proc which does not exist). So code like this:</p>

<pre><code>try
{
  obj.Open();
 }

 catch (SqlException)
 {
   // Take action here.
 }


 catch (InvalidOperationException)
 {
   // Take action here.
 }
</code></pre>

<p>And likewise for the other method I call straight after. This seems like a very messy way of coding. The other way is to code with the exception variable (that is ommited as I am using AOP to log the exception details, using a class-level attribute). Doing this, this could aid me in finding out which method caused an exception and then taking action accordingly. Is this the best approach or is there another best practise altogether?</p>

<p>I also assume that, as only these two methods are thrown, I do not need to catch Exception as that would be for an exception I cannot handle (causes way out of my control).</p>

<p>Thanks</p>
