On 2016-03-15, Marko Rauhamaa <ma...@pacujo.net> wrote: > Jon Ribbens <jon+use...@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. -- https://mail.python.org/mailman/listinfo/python-list