title: Cleaning up after exceptions (as explained in Eloquent JavaScript)
body: <p>In the first edition of the book Eloquent JavaScript, in page 67 there is the following code, under the subchapter "Cleaning up after Exceptions":</p>
  
  <pre><code>var currentThing = null;
  
  function processThing(thing) {
      var prevThing = currentThing;
      currentThing = thing;
      /* do complicated processing... */
      currentThing = prevThing;
  }
  </code></pre>
  
  <p>What is the logic of reassign <code>prevThing</code> to <code>currentThing</code> in the end? </p>
  
  <p>Here is, we already assigned <code>currentThing</code> to <code>prevThing</code>, and then changed <code>currentThing</code> to <code>thing</code>, so what is the taste in the last reassignment?</p>