/[classpath]/classpath/java/rmi/activation/ActivationException.java
ViewVC logotype

Diff of /classpath/java/rmi/activation/ActivationException.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by mark, Tue Jan 22 22:27:00 2002 UTC revision 1.3 by ericb, Sun Feb 24 04:25:17 2002 UTC
# Line 1  Line 1 
1  /*  /* ActivationException.java -- general Activation exception
2    Copyright (c) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.     Copyright (c) 1996, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
3    
4  This file is part of GNU Classpath.  This file is part of GNU Classpath.
5    
# Line 7  GNU Classpath is free software; you can Line 7  GNU Classpath is free software; you can
7  it under the terms of the GNU General Public License as published by  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 2, or (at your option)  the Free Software Foundation; either version 2, or (at your option)
9  any later version.  any later version.
10    
11  GNU Classpath is distributed in the hope that it will be useful, but  GNU Classpath is distributed in the hope that it will be useful, but
12  WITHOUT ANY WARRANTY; without even the implied warranty of  WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Line 37  exception statement from your version. * Line 37  exception statement from your version. *
37    
38  package java.rmi.activation;  package java.rmi.activation;
39    
40  import java.io.PrintStream;  /**
41  import java.io.PrintWriter;   * General exception class for <code>java.rmi.activation</code>.
42     *
43  public class ActivationException   * @author unknown
44          extends Exception {   * @since 1.2
45     * @status updated to 1.4
46  public Throwable detail;   */
47    public class ActivationException extends Exception
48  public ActivationException() {  {
49          super();    /**
50  }     * Compatible with JDK 1.2+.
51       */
52  public ActivationException(String s) {    private static final long serialVersionUID = -4320118837291406071L;
53          super(s);  
54  }    /**
55       * The cause of this exception. This pre-dates the exception chaining
56  public ActivationException(String s, Throwable ex) {     * of Throwable; and although you can change this field, you are wiser
57          super(s);     * to leave it alone.
58          detail = ex;     *
59  }     * @serial the exception cause
60       */
61  public String getMessage() {    public Throwable detail;
62          if (detail == null) {  
63                  return (super.getMessage());    /**
64          }     * Create an exception with no message, and cause initialized to null.
65          else {     */
66                  return (super.getMessage() + ":" + detail.getMessage());    public ActivationException()
67          }    {
68  }      this(null, null);
69      }
70  public void printStackTrace(PrintStream s) {  
71          if (detail != null) {    /**
72                  detail.printStackTrace(s);     * Create an exception with the given message, and cause initialized to null.
73          }     *
74          super.printStackTrace(s);     * @param s the message
75  }     */
76      public ActivationException(String s)
77  public void printStackTrace() {    {
78          printStackTrace(System.err);      this(s, null);
79  }    }
80    
81  public void printStackTrace(PrintWriter s) {    /**
82          if (detail != null) {     * Create an exception with the given message and cause.
83                  detail.printStackTrace(s);     *
84          }     * @param s the message
85          super.printStackTrace(s);     * @param ex the cause
86  }     */
87      public ActivationException(String s, Throwable ex)
88      {
89        super(s, ex);
90        detail = ex;
91      }
92    
93      /**
94       * This method returns a message indicating what went wrong, in this
95       * format:
96       * <code>super.getMessage() + (detail == null ? ""
97       *    : "; nested exception is:\n\t" + detail)<code>.
98       *
99       * @return the chained message
100       */
101      public String getMessage()
102      {
103        if (detail == this || detail == null)
104          return super.getMessage();
105        return super.getMessage() + "; nested exception is:\n\t" + detail;
106      }
107    
108      /**
109       * Returns the cause of this exception. Note that this may not be the
110       * original cause, thanks to the <code>detail</code> field being public
111       * and non-final (yuck). However, to avoid violating the contract of
112       * Throwable.getCause(), this returns null if <code>detail == this</code>,
113       * as no exception can be its own cause.
114       *
115       * @return the cause
116       * @since 1.4
117       */
118      public Throwable getCause()
119      {
120        return detail == this ? null : detail;
121      }
122  }  }

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26