Java Stacktrace to String getStackTrace(Exception x)

Here you can find the source of getStackTrace(Exception x)

Description

get Stack Trace

License

Open Source License

Declaration

public static final String[] getStackTrace(Exception x) 

Method Source Code

//package com.java2s;
/*/*from  w  ww  . java2  s .  c  om*/
 * Copyright (C) 2005-2007 Robey Pointer <robey@lag.net>
 *
 * This file is part of jaramiko.
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:
 *
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */

import java.io.PrintWriter;
import java.io.StringWriter;

import java.util.ArrayList;

import java.util.List;

public class Main {
    public static final String[] getStackTrace(Exception x) {
        StringWriter sw = new StringWriter();
        x.printStackTrace(new PrintWriter(sw));
        return splitString(sw.toString(), "\n");
    }

    public static final String[] splitString(String orig, String delim, int max) {
        List<String> out = new ArrayList<String>();
        while (true) {
            if (out.size() == max - 1) {
                break;
            }
            int n = orig.indexOf(delim);
            if (n < 0) {
                break;
            }
            out.add(orig.substring(0, n));
            orig = orig.substring(n + delim.length());
        }
        out.add(orig);
        return out.toArray(new String[0]);
    }

    public static final String[] splitString(String orig, String delim) {
        return splitString(orig, delim, -1);
    }
}

Related

  1. getStackTrace(Exception e)
  2. getStackTrace(Exception e)
  3. getStackTrace(Exception e)
  4. getStackTrace(Exception e)
  5. getStackTrace(Exception exception)
  6. getStacktraceAsString(Exception e)
  7. getStacktraceAsString(Exception e)
  8. getStackTraceAsString(Exception e)
  9. getStackTraceAsString(Exception e)