001: /*
002: * Enhydra Java Application Server Project
003: *
004: * The contents of this file are subject to the Enhydra Public License
005: * Version 1.1 (the "License"); you may not use this file except in
006: * compliance with the License. You may obtain a copy of the License on
007: * the Enhydra web site ( http://www.enhydra.org/ ).
008: *
009: * Software distributed under the License is distributed on an "AS IS"
010: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
011: * the License for the specific terms governing rights and limitations
012: * under the License.
013: *
014: * The Initial Developer of the Enhydra Application Server is Lutris
015: * Technologies, Inc. The Enhydra Application Server and portions created
016: * by Lutris Technologies, Inc. are Copyright Lutris Technologies, Inc.
017: * All Rights Reserved.
018: *
019: * Contributor(s):
020: *
021: * $Id: FatalExceptionError.java,v 1.2 2006-06-15 13:40:47 sinisa Exp $
022: */
023:
024: package com.lutris.util;
025:
026: /*
027: * Class that encapsulates exceptions as runtime errors. This is used when an
028: * an exception is caught that really should be treated as a runtime error.
029: * This should only be used for exceptions that really should be treated as
030: * fatal errors; not as a way of by-passing Java error handling.
031: */
032: public class FatalExceptionError extends Error {
033: /**
034: * Encapsulated exception.
035: */
036: Exception except;
037:
038: /**
039: * Constucts with an existing exception or error.
040: *
041: * @param except - Exception to encapsulate.
042: */
043: public FatalExceptionError(Exception except) {
044: this .except = except;
045: }
046:
047: /**
048: * Get the exception that occured.
049: *
050: * @return A reference to the exception.
051: */
052: public Exception getException() {
053: return except;
054: }
055:
056: /**
057: * Get the detail message of the encapsulate exception.
058: *
059: * @return The detail message
060: */
061: public String getMessage() {
062: return except.getMessage();
063: }
064:
065: /**
066: * Get the localized message of the encapsulate exception.
067: *
068: * @return The detail message
069: */
070: public String getLocalizedMessage() {
071: return except.getLocalizedMessage();
072: }
073:
074: /**
075: * Returns a string representation that includes this object and the
076: * encapsulated object.
077: *
078: * @return The string representation.
079: */
080: public String toString() {
081: String str = getClass().getName() + ": "
082: + except.getClass().getName();
083: String message = except.getMessage();
084:
085: if (message == null)
086: return str;
087: return str + ": " + message;
088: }
089:
090: /**
091: * Call the encapsulated object printStackTrack method with output to the
092: * standard error string.
093: */
094: public void printStackTrace() {
095: except.printStackTrace();
096: }
097:
098: /**
099: * Call the encapsulated object printStackTrack method with output to a
100: * specified stream.
101: */
102: public void printStackTrace(java.io.PrintStream str) {
103: except.printStackTrace(str);
104: }
105:
106: /**
107: * Call the encapsulated object printStackTrack method with output to a
108: * specified stream print writer.
109: */
110: public void printStackTrace(java.io.PrintWriter pw) {
111: except.printStackTrace(pw);
112: }
113: }
|