Redundant code in exception handling
<p>I've a recurrent problem, I don't find an elegant solution to avoid the resource cleaning code duplication:</p>

<pre><code>resource allocation:

try {
  f()
} catch (...) {
  resource cleaning code;
  throw;
}

resource cleaning code;
return rc;
</code></pre>

<p>So, I know I can do a temporary class with cleaning up destructor, but I don't really like it because it breaks the code flow and I need to give the class the reference to the all stack vars to cleanup, the same problem with a function, and I don't figure out how does not exists an elegant solution to this recurring problem.</p>
