1   /*
2    *  LuckyException.java
3    *
4    *  Copyright (c) 1998-2005, The University of Sheffield.
5    *
6    *  This file is part of GATE (see http://gate.ac.uk/), and is free
7    *  software, licenced under the GNU Library General Public License,
8    *  Version 2, June 1991 (in the distribution as file licence.html,
9    *  and also available at http://gate.ac.uk/gate/licence.html).
10   *
11   *  Valentin Tablan 06/2000
12   *
13   *  $Id: LuckyException.java,v 1.9 2005/01/11 13:51:37 ian Exp $
14   */
15  package gate.util;
16  /**This exception is intended to be used in places where there definitely
17    *shouldn't be any exceptions thrown but the API requires us to catch some,
18    *eg: <code>
19    * try{
20    *   if( a != null){
21    *     a.doSomething();
22    *   }
23    * }catch(NullPointerException npe){
24    *   throw new LuckyException("I found a null pointer!");
25    * }
26    *</code>
27    *Of course the system will never require you to catch NullPOinterException as
28    *it derives from RuntimeException, but I couldn't come with a better example.
29    */
30  public class LuckyException extends RuntimeException {
31  
32    /** Debug flag */
33    private static final boolean DEBUG = false;
34  
35    /** Default constructor, creates a new execption with the default message */
36    public LuckyException() {
37      super(defaultMessage);
38    }
39  
40    /** Creates a new exception with the provided message prepended to the default
41      * one on a separate line.
42      * @param message the uses message
43      */
44    public LuckyException(String message) {
45      super(message + "\n" + defaultMessage);
46    }
47  
48    /**The default message carried by this type of exceptions*/
49    static String defaultMessage =
50      "Congratulations, you found the ONLY bug in GATE!";
51  
52  }// end class LuckyException
53  
54