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


Groups > comp.lang.python > #100439

Re: Try: rather than if :

From Ian Kelly <ian.g.kelly@gmail.com>
Newsgroups comp.lang.python
Subject Re: Try: rather than if :
Date 2015-12-14 16:53 -0700
Message-ID <mailman.5.1450137271.22044.python-list@python.org> (permalink)
References <CALyJZZViT33d8iob-5PoYnJOdPU2RzSzt3YAic_GRaAxN+wE1A@mail.gmail.com> <20151214231420.GA20631@cskk.homeip.net> <CALyJZZWn-UJPkMtNOBX9YcvAmWgA4qTo7_LwhHjciwevmrn1xw@mail.gmail.com>

Show all headers | View raw


On Mon, Dec 14, 2015 at 4:48 PM, Vincent Davis <vincent@vincentdavis.net> wrote:
> On Mon, Dec 14, 2015 at 4:14 PM, Cameron Simpson <cs@zip.com.au> wrote:
>
>> First, notice that the code inside the try/except _only_ fetches the
>> attribute.  Your version calls the "write" attribute, and also accesses
>> handle.name. Either of those might also emit AttributeError, and should
>> probably not be silently caught.
>>
>
> I think the intent of the original code was to check if handle had the
> attribute "name", I don't think the attribute "write" was the issue.
>
> So then possibly this based on your suggestion:
> try:
>     write = handel.write
> except AttributeError:
>     raise

Except that catching an exception just to immediately re-raise it is
silly. This would be better:

try:
    name = handle.name
except AttributeError:
    pass
else:
    handle.write("# Report_file: %s\n" % name)

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


Thread

Re: Try: rather than if : Ian Kelly <ian.g.kelly@gmail.com> - 2015-12-14 16:53 -0700

csiph-web