Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #57224

Re: Using "with" context handler, and catching specific exception?

From Ben Finney <ben+python@benfinney.id.au>
Subject Re: Using "with" context handler, and catching specific exception?
Date 2013-10-22 14:04 +1100
References <a2623010-97d3-4a6d-9373-e9979492b84f@googlegroups.com>
Newsgroups comp.lang.python
Message-ID <mailman.1331.1382411066.18130.python-list@python.org> (permalink)

Show all headers | View raw


Victor Hooi <victorhooi@gmail.com> writes:

>     try:
>         with open('somefile.log', 'wb' as f:
>             f.write("hello there")
>     except IOError as e:
>         logger.error("Uhoh, the file wasn't there").

IOError, as Steven D'Aprano points out, is not equivalent to “file not
found”. Also, you're not doing anything with the exception object, so
there's no point binding it to the name ‘e’.

What you want is the specific FileNotFoundError:

    try:
        with open('somefile.log', 'wb' as f:
            f.write("hello there")
    except FileNotFoundError:
        logger.error("Uhoh, the file wasn't there").

See <URL:http://docs.python.org/3/library/exceptions.html#FileNotFoundError>.

-- 
 \            “Choose mnemonic identifiers. If you can't remember what |
  `\                mnemonic means, you've got a problem.” —Larry Wall |
_o__)                                                                  |
Ben Finney

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Using "with" context handler, and catching specific exception? Victor Hooi <victorhooi@gmail.com> - 2013-10-21 18:43 -0700
  Re: Using "with" context handler, and catching specific exception? MRAB <python@mrabarnett.plus.com> - 2013-10-22 03:04 +0100
  Re: Using "with" context handler, and catching specific exception? Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-10-22 02:48 +0000
  Re: Using "with" context handler, and catching specific exception? Ben Finney <ben+python@benfinney.id.au> - 2013-10-22 14:04 +1100
    Re: Using "with" context handler, and catching specific exception? Victor Hooi <victorhooi@gmail.com> - 2013-10-21 20:27 -0700
      Re: Using "with" context handler, and catching specific exception? Ben Finney <ben+python@benfinney.id.au> - 2013-10-22 14:53 +1100
        Re: Using "with" context handler, and catching specific exception? Victor Hooi <victorhooi@gmail.com> - 2013-10-22 18:11 -0700

csiph-web