Handling Exceptions with else clause
<p>The Python Tutorial <a href="http://docs.python.org/tutorial/errors.html" rel="nofollow">states:</a></p>

<blockquote>
  <p>The try ... except statement has an optional <strong>else clause</strong>, which,
  when present, must follow all except clauses. It is useful for code
  that must be executed if the try clause does not raise an exception.
  For example:</p>

<pre><code>for arg in sys.argv[1:]:
    try:
        f = open(arg, 'r')
    except IOError:
        print 'cannot open', arg
    else:
        print arg, 'has', len(f.readlines()), 'lines'
        f.close()
</code></pre>
  
  <p>The use of the <strong>else clause</strong> is better than adding additional code
  to the try clause because it avoids accidentally catching an exception
  that wasn’t raised by the code being protected by the try ... except
  statement.</p>
</blockquote>

<p><strong>Question 1</strong>>　Ａｆｔｅｒ reading the above document, I still don't get the idea why we cannot simply move the code from <strong>else clause</strong> into <strong>try clause</strong>. </p>

<p><strong>Question 2</strong>> How does <strong>try clause</strong> can accidentally catch an exception since all those catches are done in the <strong>except clause</strong>, right?</p>
