CS105 Study Guide
Unit 9: Exception Handling
9a. Explain how exceptions are implemented capture programming errors
- What are exceptions?
- Why is it necessary to catch programming errors?
- Explain how the try and except statements are used.
Ideally, after a program is written, it should be completely debugged, meaning that it should not generate errors. In reality, for practical applications with unpredictable user input, this is not the case. When programming, you should be continually addressing factors that could lead to a program crash. If not, then program users will experience program crashes. Python provides a consistent structure known as exception handling and the error that occurs is referred to as an exception. For instance,
TypeError exception because the
sum function is expecting numerical data. Python is designed to catch exceptions. However, if no exception handler exists, the exception will result in the termination of program execution; obviously, an unwanted state of affairs.
The most basic type of exception handler involves two statements:
except. The indented clause following the
try statement is the code that is intended to execute. If an error occurs while attempting to execute the
try clause, an indented
except clause will execute in response to an exception (assuming the appropriate exception has been identified). Python is equipped with powerful tools for exception handling, but the basic flow is similar to
if elif conditional statements.
9b. Write programs that handle errors by using try, except, and finally statements
- Explain how the else and finally statements are used.
- What are some typical built-in Python exceptions one should know?
- How are multiple exceptions handled?
In addition to
else clause can be included in the event that an exception does not occur. Finally (no pun intended), the
finally statement can be used to house all code intended to execute whether or not an exception has occurred. Your expertise with
if else elif statements should directly translate into writing
try except else finally exception handlers.
except statement without referring to any specific exception will catch any error; however, this scenario makes it difficult to write a useful exception handler as the specific error has not been identified. The Python language has made provision for several built-in exceptions that you should know:
- IndexError: illegal index into an ordered contained such as a list or a tuple
- KeyError: illegal key into a dictionary
- TypeError: a function gets argument of improper type
- ValueError: a function gets argument of correct type but improper value
- ZeroDivisionError: division by zero
- NameError: a variable is not found in local or global scope
In addition, multiple exceptions using multiple except clauses are handled in the order they appear in the exception handler.
Unit 9 Vocabulary
This vocabulary list includes terms listed above that students need to know to successfully complete the final exam for the course.
- program crash
- exception handling
- try statement
- except clause
- else clause
- finally statement