Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #100439
| 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> |
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
Re: Try: rather than if : Ian Kelly <ian.g.kelly@gmail.com> - 2015-12-14 16:53 -0700
csiph-web