Add a note about the non-EAFP example code also having a potential race
condition (which is one of the reasons why the EAFP style is preferred).
Update best practice code to catch the specific FileNotFoundError (new
in Python 3.3), instead of the overly broad OSError. (Add note about
using OSError in Python 2, but caution that it may be too broad.)
Update glossary link to point to Python 3 docs, for good measure.
Add a note about the non-EAFP example code also having a potential race condition (which is one of the reasons why the EAFP style is preferred).
Update best practice code to catch the specific FileNotFoundError (new in Python 3.3), instead of the overly broad OSError. (Add note about using OSError in Python 2, but caution that it may be too broad.)
Update glossary link to point to Python 3 docs, for good measure.