Summary
The raising of an exception interrupts normal program flow and transfers control to an exception handler.
Exception handlers are defined using the
try
…except
construct.The
try
blocks define a context in which exceptions can be detected.Corresponding the
except
blocks define handlers for specific types of exceptions.Python uses exceptions pervasively and many built-in language features depend on them.
The
except
blocks can capture anexception
object, which is often of a standard type such asValueError
,KeyError
orIndexError
.Programmer errors such as
IndentationError
andSyntaxError
should not normally be handled.Exceptional conditions can be signaled using the
raise
keyword which accepts a single parameter of anexception
object.Raise without an argument within an
except
block re-raises the exception which is currently being processed.We tend not to routinely check for
TypeErrors
. To do so would negate the flexibility afforded to us by Python's dynamic type system.The
exception...