Documentation
The Java™ Tutorials
Download Ebooks
Download JDK
Search Java Tutorials
Hide TOC
Exceptions
What Is an Exception?
The Catch or Specify Requirement
Catching and Handling Exceptions
The try Block
The catch Blocks
The finally Block
The try-with-resources Statement
Putting It All Together
Specifying the Exceptions Thrown by a Method
How to Throw Exceptions
Chained Exceptions
Creating Exception Classes
Unchecked Exceptions — The Controversy
Advantages of Exceptions
Summary
Questions and Exercises
Trail: Essential Classes
Lesson: Exceptions
« Previous • Trail • Next »

# Questions and Exercises

## Questions

1. Is the following code legal?

       try {

       } finally {

       }

2. What exception types can be caught by the following handler?

       catch (Exception e) {

       }

   What is wrong with using this type of exception handler?
3. Is there anything wrong with the following exception handler as written? Will this code compile?

       try {

       } catch (Exception e) {

       } catch (ArithmeticException a) {

       }

4. Match each situation in the first list with an item in the second list.
   1. `int[] A;
      A[0] = 0;`
   2. The JVM starts running your program, but the JVM can't find the Java platform classes. (The Java platform classes reside in `classes.zip` or `rt.jar`.)
   3. A program is reading a stream and reaches the `end of stream` marker.
   4. Before closing the stream and after reaching the `end of stream` marker, a program tries to read the stream again.
   1. __error
   2. __checked exception
   3. __compile error
   4. __no exception

   ## Exercises

   1. Add a `readList` method to ``ListOfNumbers.java``. This method should read in `int` values from a file, print each value, and append them to the end of the vector. You should catch all appropriate errors. You will also need a text file containing numbers to read in.
   2. Modify the following `cat` method so that it will compile.

          public static void cat(File file) {
              RandomAccessFile input = null;
              String line = null;

              try {
                  input = new RandomAccessFile(file, "r");
                  while ((line = input.readLine()) != null) {
                      System.out.println(line);
                  }
                  return;
              } finally {
                  if (input != null) {
                      input.close();
                  }
              }
          }

   Check your answers.

« Previous • Trail • Next »

Previous page: Summary
Next page: Basic I/O