> ### Quiz Questions
> For Chapter 9

> THIS PAGE CONTAINS A SAMPLE quiz on material from Chapter 9 of this on-line Java textbook. You should be able to answer these questions after studying that chapter. Sample answers to all the quiz questions can be found here.

> Question 1: What does it mean to say that a program is robust?

> Question 2: Why do programming languages require that variables be declared before they are used? What does this have to do with correctness and robustness?

> Question 3: What is "`Double.NaN`"?

> Question 4: What is a precondition? Give an example.

> Question 5: Explain how preconditions can be used as an aid in writing correct programs.

> Question 6: Java has a predefined class called `Throwable`. What does this class represent? Why does it exist?

> Question 7: Write a subroutine that prints out a `3N+1` sequence starting from a given integer, `N`. The starting value should be a parameter to the subroutine. If the parameter is less than or equal to zero, throw an `IllegalArgumentException`. If the number in the sequence becomes too large to be represented as a value of type `int`, throw an `ArithmeticException`.

> Question 8: Some classes of exceptions require mandatory exception handling. Explain what this means.

> Question 9: Consider a subroutine `processData` that has the header

>             static void processData() throws IOException

> Write a `try...catch` statement that calls this subroutine and prints an error message if an `IOException` occurs.

> Question 10: Why should a subroutine throw an exception when it encounters an error? Why not just terminate the program?

[ Answers | Chapter Index | Main Index ]