Seekable files

Jon Ribbens jon+usenet at unequivocal.co.uk
Tue Mar 15 09:49:44 EDT 2016


On 2016-03-15, Marko Rauhamaa <marko at pacujo.net> wrote:
> Jon Ribbens <jon+usenet at unequivocal.co.uk>:
>> I'd just do something like:
>>
>>   try:
>>       fileobj.seek(where-i-want-to-seek-to)
>>   except (AttributeError, EnvironmentError):
>>       # file is not seekable
>
> Unlike Java, Python does not declare syntactically which exceptions the
> caller should expect. Unfortunately, the library documentation is not
> clear on it, either. So it is often a bit difficult to write proper
> try-except logic around a function.

This is true, although I'm not sure why you are mentioning it here
since I'm fairly sure the above code suggestion is reasonably correct
and the documentation is pretty clear.

> Having to specify the possible exceptions in Java is very painful and
> has complicated the introduction of closures to Java quite a bit.

It is one of the extremely serious design errors in Java, I think.

> I think it points to a big practical problem in the whole exception
> paradigm.

Well, no. That one individual language screwed up its implementation
of exceptions does not mean the whole concept of exceptions is broken.

> Makes you wonder if the old error code mechanism would have
> been better, after all. ("Why does Go not have exceptions?" <URL:
> https://golang.org/doc/faq>.)

I think they are wrong, and indeed their argument seems to be a
ludicrous one based upon a misunderstanding of the English meaning of
the word "exception"!

Any high-level language that does not include exceptions is not fit
for purpose, in my opinion.



More information about the Python-list mailing list