[Q] Are Exceptions used that much in practice?
Greg Ewing
greg at cosc.canterbury.ac.nz
Wed Dec 13 20:25:58 EST 2000
Jerome Mrozak wrote:
>
> An example of compulsion is java.lang.Integer.parseInt(), which throws a
> NumberFormatException you *must* deal with or the program won't
> compile.
Ah, I see what you mean. No, there's never a case where you
really *have* to catch an exception. You always have the
option of ignoring exceptions; an exception which isn't
caught anywhere will simply cause the program to abort
with a traceback.
Sometimes you will want to catch exceptions, but those cases
are very rare, in my experience. Most of the time you can
write code without thinking about exceptions at all.
> I'm aware of examples of Python such as (faking it here):
>
> while 1:
> try:
> input = inputFileObject.readline()
> catch EOF:
> break
> else:
> process(input)
Python doesn't report end-of-file by means of an exception;
it returns an empty string.
It does report I/O errors such as failing to open a file
with an exception, which is one of the few cases that you
will probably want to catch. You don't necessarily have
to put a try-except around every file open, though, and
that's probably not the best thing to do. A single
try-except somewhere high up in your program's logic
to catch any failures and report them to the user is
usually sufficient.
Hope that helps,
--
Greg Ewing, Computer Science Dept, University of Canterbury,
Christchurch, New Zealand
To get my email address, please visit my web page:
http://www.cosc.canterbury.ac.nz/~greg
More information about the Python-list
mailing list