Exception handling is a core part of the Python language.
There are a number of reasons why using exceptions is a good idea:(a) exceptions offer protection against unexpected conditions
(b) exceptions can deliver on-screen messages for warning and error reporting
(c) exceptions are an alternative to the print statement for debugging
Exceptions are especially useful in code associated with error-prone processes, for example data input, file operations and wireless communications.
So, what does a Python exception handler look like?
Here's a simple example:
x = int(raw_input("Please enter a number: ")
print "Not a valid number. Please try again..."
try part of the exception asks the user for a number. While the
exception part tests for non-numeric values and reports problems back to the user. So this is a combination of the '(a)' an '(b)' scenarios above.
Here's a more elaborate example:
f = open(fname, 'r')
print 'Can't open file: ', fname
print fname, ' contains ', len(f.readlines()), ' lines '
This time we only try to do something with the file
fname if the
open() operation is successful. Otherwise we notify the user of the problem.
Take a look at some non-trivial Python source code to see if you spot the exception handlers and work out why they exist.
A post from my Learn Python on the Raspberry Pi tutorial.