A
download WotonomyException.java
Language: Java
License: LGPL
Copyright: (C) 2000 Michael Powers
LOC: 75
Project Info
wotonomy
Server: SourceForge
Type: cvs
...wotonomy\net\wotonomy\util\
   BrowserLauncher.java
   Duplicator.java
   Introspector.java
   IntrospectorException.java
   ...gPropertyException.java
   NetworkClassLoader.java
   ...PrimitiveException.java
   package.html
   PropertyComparator.java
   PropertyListParser.java
   QueueMap.java
   Surrogate.java
   URLResourceReader.java
   ValueConverter.java
   WotonomyException.java

/*
Wotonomy: OpenStep design patterns for pure Java applications.
Copyright (C) 2000 Michael Powers

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, see http://www.gnu.org
*/

package net.wotonomy.util;

import java.io.PrintStream;
import java.io.PrintWriter;

/**
* This is a simple RuntimeException that can encapsulate
* another throwable.  Behaves as a normal RuntimeException
* except that it prints a stack trace of the wrapped 
* throwable if one is specified.
*
* Intended to be used anytime you'd 
* report an exception with System.out.println: that is,
* for debugging and non-user-visible exceptions.
*
* @author michael@mpowers.net
* @author $Author: mpowers $
* @version $Revision: 1.2 $
*/

public class WotonomyException extends RuntimeException
{
	protected String message;
	protected Throwable wrappedThrowable;
	
	/**
	* Default constructor.
	*/ 
	public WotonomyException()
	{
		super();
		message = null;
		wrappedThrowable = null;	
	}
	
	/**
	* Standard constructor with message.
	*/
	public WotonomyException( String aMessage )
	{
		super( aMessage );
		message = aMessage;
		wrappedThrowable = null;
	}
	
	/**
	* Specifies a throwable to wrap.
	*/ 
	public WotonomyException( Throwable aThrowable )
	{
		super();
		message = null;
		wrappedThrowable = aThrowable;
	}
	
	/**
	* Specifies a message and a throwable to wrap.
	*/ 
	public WotonomyException( String aMessage, Throwable aThrowable )
	{
		super( aMessage );
		message = aMessage;
		wrappedThrowable = aThrowable;
	}
    
    /**
    * Returns the wrapped throwable.
    */
    public Throwable getWrappedThrowable()
    {
        return wrappedThrowable;   
    }
	
	public void printStackTrace(PrintWriter s)
	{
		if ( message != null )
		{
			s.println( "Exception: " + message );	
		}
		if ( wrappedThrowable != null )
		{
			wrappedThrowable.printStackTrace( s );
			return;
		}
		super.printStackTrace( s );
	}
	
	public void printStackTrace(PrintStream s)
	{
		if ( message != null )
		{
			s.println( "Exception: " + message );	
		}
		if ( wrappedThrowable != null )
		{
			wrappedThrowable.printStackTrace( s );	
			return;
		}
		super.printStackTrace( s );
	}
	
	public void printStackTrace()
	{
		if ( message != null )
		{
			System.err.println( "Exception: " + message );	
		}
		if ( wrappedThrowable != null )
		{
			wrappedThrowable.printStackTrace();	
			return;
		}
		super.printStackTrace();
	}
	
}

About Koders | Resources | Downloads | Support | Black Duck | Terms of Service | DMCA | Privacy Policy | Contact Us