Exercise 16-1. Create a simple array of three integers. Ask the user which array element she wants to see. Output the integer that the user asked for (remember that the user probably won’t ask for a zero-based index). Provide a way for the user to indicate whether she wants another integer, or to end the program. Provide a handler that deals with invalid input.
Exercise 16-2. Modify the example in Exercise 16-1 to handle two specific errors: the IndexOutOfRangeException
, which is used when the user enters a number that’s not valid for the array, and the FormatException
, which is used when the entered value doesn’t match the expected format—in this case, if the user enters something that isn’t a number. Leave the existing handler as a default.
Exercise 16-3. Create a Cat
class with one int
property: Age
. Write a program that creates a List
of Cat
objects in a try
block. Create multiple catch
statements to handle an ArgumentOutOfRangeException
and an unknown exception, and a finally
block to simulate deallocating the Cat
objects. Write test code to throw an exception that you will catch and handle.
Exercise 16-4. Modify the test code you wrote in Exercise 16-3 so that it does not throw an error. Create a custom error type CustomCatError
that derives from System.ApplicationException
, and create a handler for it. Add a method to CatManager
that checks the cat’s age and throws a new error of type CustomCatError
if the age is less than or equal to 0, with an appropriate message. Write some test code to test your new exception.