Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Java
Expertise: Intermediate
Mar 27, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Propagate User Exceptions

In Java, you can propagate checked exceptions up a class hierarchy in two ways. First, you can declare the exception in the "throws" clause of the enclosing method. Second, you can catch the exception in a try-catch block and rethrow it. You can use the second mechanism when your program wants to convert the type of the exception. For instance, if you are designing a user interface for an application, your program could throw exceptions under several conditions. However, you may not want to propagate all the exceptions up to the user interface module and especially not to the end user. In such a case, you may want to catch the exception, partially handle it (i.e. log it in a file), and then propagate up a higher level exception that makes sense to the user interface module.
1.     public void propagateException throws UIException {
2.       try {
3.         // Method code here
4.       }
5.       catch (FileNotFoundException fnfe) {
6.         // log FileNotFoundException to file
7.         throw new UIException();
8.       }
9.       catch (IOException ioe) {
10.      // log IOException to file
11.      throw new UIException();
12.    }
13.  }
In this example, the calling application expects the user-defined exception, UIException. On Lines 5-8, FileNotFoundExceptions are caught and converted to a UIException. On Lines 9-12, IOExceptions are caught and converted to a UIException. The calling method will only be aware of UIExceptions.
Ajit Sagar
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date