/*
* Copyright 2001-2006 Geert Bevin <gbevin[remove] at uwyn dot com>
* Distributed under the terms of either:
* - the common development and distribution license (CDDL), v1.0; or
* - the GNU Lesser General Public License, v2.1 or later
* $Id: ExceptionUtils.java 3108 2006-03-13 18:03:00Z gbevin $
*/
package com.uwyn.jhighlight.tools;
import java.io.PrintWriter;
import java.io.StringWriter;
/**
* Collection of utility methods to work with exceptions.
*
* @author Geert Bevin (gbevin[remove] at uwyn dot com)
* @version $Revision: 3108 $
* @since 1.0
*/
public abstract class ExceptionUtils
{
private ExceptionUtils()
{
}
/**
* Obtains the entire stracktrace of an exception and converts it into a
* string.
*
* @param exception the exception whose stacktrace has to be converted
* @return the stracktrace, converted into a string
* @since 1.0
*/
public static String getExceptionStackTrace(Throwable exception)
{
if (null == exception) throw new IllegalArgumentException("exception can't be null;");
String stack_trace = null;
StringWriter string_writer = new StringWriter();
PrintWriter print_writer = new PrintWriter(string_writer);
exception.printStackTrace(print_writer);
stack_trace = string_writer.getBuffer().toString();
print_writer.close();
try
{
string_writer.close();
}
// JDK 1.2.2 compatibility
catch (Throwable e2)
{
}
return stack_trace;
}
}