Java Stacktrace to String stackTraceToString(StackTraceElement[] trace)

Here you can find the source of stackTraceToString(StackTraceElement[] trace)

Description

Converts a StackTrace[] to a String, one item per line.

License

Open Source License

Declaration

public static String stackTraceToString(StackTraceElement[] trace) 

Method Source Code

//package com.java2s;
/*/*from w w  w. j  a  v a2  s  . c o  m*/
Copyright 2011 Northbranchlogic, Inc.
    
This file is part of Parallel Processing with EC2 (ppe).
    
ppe is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
    
ppe 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 General Public License for more details.
    
You should have received a copy of the GNU General Public License
along with ppe.  If not, see <http://www.gnu.org/licenses/>.
 */

public class Main {
    /** Converts a <tt>StackTrace[]</tt> to a <tt>String</tt>, one
     *  item per line.
     */
    public static String stackTraceToString(StackTraceElement[] trace) {
        if (trace == null)
            return ("NULL stack trace.");
        String s = "";
        for (int i = 0; i < trace.length; i++) {
            if (trace[i] != null)
                s += trace[i].toString() + "\n";
            else
                s += "null trace element at [" + i + "]";
        }
        return (s);
    }

    /** @return the stack trace and causal message as string
     * 
     * @param x
     * @return 
     */
    public static String toString(Throwable x) {
        return (exceptionStackToString(x) + "\n\n" + getExceptionMessage(x));
    }

    public static String exceptionStackToString(Throwable x) {
        if (x == null)
            return ("NULL exception!");
        return (throwableToString(x, ""));
    }

    public static String getExceptionMessage(Throwable x) {
        Throwable c = x.getCause();
        if ((c != null) && (c.getMessage() != null) && (c.getMessage().length() > 0)) {
            return (c.getMessage());
        } else
            return (x.toString());
    }

    private static String throwableToString(Throwable x, String prefix) {

        String mess = x.toString() + "\n\n" + stackTraceToString(x.getStackTrace());
        Throwable cause = x.getCause();
        if (cause != null) {
            mess += "\nCAUSE:\n" + throwableToString(cause, prefix + "    ");
        }
        return (mess);
    }
}

Related

  1. stacktraceToString(StackTraceElement[] s)
  2. stackTraceToString(StackTraceElement[] stackTrace)
  3. stackTraceToString(StackTraceElement[] stackTrace)
  4. stackTraceToString(StackTraceElement[] stackTrace, StringBuilder buf)
  5. stackTraceToString(StackTraceElement[] ste)
  6. stackTraceToString(StackTraceElement[] trace)
  7. stackTraceToString(Throwable e)
  8. stackTraceToString(Throwable e)
  9. stackTraceToString(Throwable e)