Example usage for java.lang Throwable getStackTrace

List of usage examples for java.lang Throwable getStackTrace

Introduction

In this page you can find the example usage for java.lang Throwable getStackTrace.

Prototype

public StackTraceElement[] getStackTrace() 

Source Link

Document

Provides programmatic access to the stack trace information printed by #printStackTrace() .

Usage

From source file:be.wegenenverkeer.common.resteasy.exception.ExceptionUtil.java

/**
 * Get the stack trace as a string. Filters framework lines from the trace.
 *
 * @return stack trace//from w w  w.j a v a  2s  . com
 */
public String getStackTrace() {
    StringBuilder sb = new StringBuilder();
    Throwable exception = originalException;

    while (null != exception) {
        int filteredCount = 0;
        sb.append(exception.getMessage()).append('\n');
        for (StackTraceElement ste : exception.getStackTrace()) {
            if (shouldDisplay(ste.getClassName())) {
                sb.append("    ");
                while (filteredCount > 0) {
                    sb.append(',');
                    filteredCount--;
                }
                sb.append(ste.toString()).append('\n');
            } else {
                filteredCount++;
            }
        }
        exception = exception.getCause();
    }
    return sb.toString();
}

From source file:org.coconut.core.LoggersTest.java

private void testPrintStream(Logger log, SystemErrOutHelper str) {
    testLevelOn(log, Logger.Level.Trace.getLevel());
    log.trace("trace test a");
    assertTrue(str.last.getLast().indexOf("trace test a") >= 0);

    log.debug("debug test a");
    assertTrue(str.last.getLast().indexOf("debug test a") >= 0);

    log.info("info test a");
    assertTrue(str.last.getLast().indexOf("info test a") >= 0);

    log.warn("warn test a");
    assertTrue(str.last.getLast().indexOf("warn test a") >= 0);

    log.error("error test a");
    assertTrue(str.last.getLast().indexOf("error test a") >= 0);

    log.fatal("fatal test a");
    assertTrue(str.last.getLast().indexOf("fatal") >= 0);

    Throwable t = new Throwable();
    int l = t.getStackTrace().length + 1;
    log.trace("trace test a", t);
    assertTrue(str.getFromLast(l).indexOf("trace test a") >= 0);

    log.debug("debug test a", t);
    assertTrue(str.getFromLast(l).indexOf("debug test a") >= 0);

    log.info("info test a", t);
    assertTrue(str.getFromLast(l).indexOf("info test a") >= 0);

    log.warn("warn test a", t);
    assertTrue(str.getFromLast(l).indexOf("warn test a") >= 0);

    log.error("error test a", t);
    assertTrue(str.getFromLast(l).indexOf("error test a") >= 0);

    log.fatal("fatal test a", t);
    assertTrue(str.getFromLast(l).indexOf("fatal") >= 0);
}

From source file:org.collectionspace.chain.csp.webui.main.StreamUIRequest.java

private void exception_to_text_internal(StringBuffer buf, Throwable e) {
    buf.append("Exception " + e.getClass() + " thrown message=\"" + e.getMessage() + "\"\n");
    for (StackTraceElement el : e.getStackTrace()) {
        buf.append(el.getClassName() + " " + el.getMethodName() + " (" + el.getFileName() + ":"
                + el.getLineNumber() + ")\n");
    }/*w w w  .  j  av a  2s . com*/
    Throwable next = e.getCause();
    if (next != null && next != e) {
        buf.append("Caused by:\n");
        exception_to_text_internal(buf, next);
    }
}

From source file:org.uiautomation.ios.server.servlet.IOSServlet.java

private JSONObject serializeException(Throwable e) throws JSONException {
    JSONObject res = new JSONObject();
    res.put("message", e.getMessage());
    res.put("class", e.getClass().getCanonicalName());
    res.put("screen", JSONObject.NULL);
    res.put("stackTrace", serializeStackTrace(e.getStackTrace()));
    if (e.getCause() != null) {
        res.put("cause", serializeException(e.getCause()));
    }//  ww  w  .ja  v a  2s  .  c  o m
    return res;

}

From source file:com.altoros.layout.JSONLayout.java

/**
 * Converts LoggingEvent Throwable to JSON object
 * @param json/*w ww.  j a  v  a 2 s . c om*/
 * @param event
 * @throws JSONException
 */
protected void writeThrowable(JSONObject json, LoggingEvent event) throws JSONException {
    ThrowableInformation ti = event.getThrowableInformation();
    if (ti != null) {
        Throwable t = ti.getThrowable();
        JSONObject throwable = new JSONObject();

        throwable.put("message", t.getMessage());
        throwable.put("className", t.getClass().getCanonicalName());
        List<JSONObject> traceObjects = new ArrayList<JSONObject>();
        for (StackTraceElement ste : t.getStackTrace()) {
            JSONObject element = new JSONObject();
            element.put("class", ste.getClassName());
            element.put("method", ste.getMethodName());
            element.put("line", ste.getLineNumber());
            element.put("file", ste.getFileName());
            traceObjects.add(element);
        }

        json.put("stackTrace", traceObjects);
        json.put("throwable", throwable);
    }
}

From source file:net.ymate.platform.log.jcl.JCLogger.java

/**
 * //  w  w w .jav  a 2s.  c o m
 *
 * @param stackSB ???
 * @param t       ?
 * @return ?true
 */
protected boolean __ex(StringBuilder stackSB, Throwable t) {
    if (t != null) {
        stackSB.append("Caused by: ").append(t.getClass().getName()).append(": ")
                .append(StringUtils.trimToEmpty(t.getMessage())).append("\n");
        StackTraceElement[] _traces = t.getStackTrace();
        int _tracesSize = _traces.length;
        for (int _idx = 0; _idx < _tracesSize; _idx++) {
            if (_idx < 5) {
                stackSB.append("\tat ") // 
                        .append(_traces[_idx]).append("\n");
            } else {
                stackSB.append("\t... ").append(_tracesSize - 5).append(" more\n");
                break;
            }
        }
        if (__ex(stackSB, t.getCause())) {
            return true;
        }
    }
    return false;
}

From source file:com.fujitsu.dc.core.DcCoreAuthzException.java

/**
 * ?????????./*from  w w  w  .  j  ava 2s  .  co m*/
 * @param t 
 * @return DcCoreException
 */
public DcCoreException reason(final Throwable t) {
    // ???
    DcCoreException ret = new DcCoreAuthzException(this.code, this.severity, this.message, this.status,
            this.realm, this.authScheme);
    // 
    ret.setStackTrace(t.getStackTrace());
    return ret;
}

From source file:com.nts.alphamale.handler.FollowerHandler.java

/***
 * replay ?? /*w  w w . j a va 2  s . c o m*/
 * @param jobs
 */
@Subscribe
public void task(List<Job> jobs) {
    ExecutionLogManager.clear();
    for (Job job : jobs) {
        Job rjob = null;
        String eMsg = null;
        try {
            rjob = (Job) job.clone();
            if (rjob.getJobType() == JobType.POSITION_BASE) {
                rjob.convertPoint(deviceInfo);
            }
            Object rsltObj = client.invoke(rjob);
            if (rsltObj instanceof Boolean) {
                boolean isSuccess = (Boolean) rsltObj;
                ExecutionLogManager.add(rjob.getSeq(), rjob.getTitle(), serial, deviceInfo.getModel(),
                        isSuccess, "unknown");
            }
        } catch (Throwable e) {
            if (e.getCause() != null) {
                eMsg = e.getCause().getMessage();
            } else {
                eMsg = e.getMessage();
            }
            log.info("Exception Follower(" + deviceInfo.getModel() + ") - " + e.getStackTrace());
            ExecutionLogManager.add(rjob.getSeq(), rjob.getTitle(), serial, deviceInfo.getModel(), false, eMsg);
        } finally {
            ExecutionLogManager.send(rjob.getSeq(), true);
        }
    }
}

From source file:com.anysoftkeyboard.ui.SendBugReportUiActivity.java

@Override
protected void onStart() {
    super.onStart();
    TextView crashTypeView = (TextView) findViewById(R.id.ime_crash_type);
    Intent callingIntent = getIntent();/* ww w  . j a  va2s.c om*/
    mCrashReportDetails = callingIntent.getParcelableExtra(EXTRA_KEY_BugReportDetails);
    if (mCrashReportDetails == null) {
        if (BuildConfig.DEBUG)
            throw new IllegalArgumentException(
                    "Activity started without " + EXTRA_KEY_BugReportDetails + " extra!");
        finish();
    } else {
        if (mCrashReportDetails.throwable == null || (!BuildConfig.DEBUG)) {
            /*not showing the type of crash in RELEASE mode*/
            crashTypeView.setVisibility(View.GONE);
        } else {
            Throwable throwable = mCrashReportDetails.throwable;
            String typeText = throwable.getClass().getName();
            if (!TextUtils.isEmpty(throwable.getMessage()))
                typeText += ": " + throwable.getMessage();

            StackTraceElement[] stackTrace = throwable.getStackTrace();
            if (stackTrace != null && stackTrace.length > 0) {
                typeText += "\n";
                typeText += "Thrown at " + stackTrace[0].toString();
                for (int i = 1; i < Math.min(3, stackTrace.length); i++) {
                    typeText += "\n" + stackTrace[i].toString();
                }
            }

            crashTypeView.setText(typeText);
        }
    }
}

From source file:org.damcode.web.c4webserver.Server.java

@OnError
public void onError(Throwable t) {
    printSysOut("wtf error: " + t.getMessage() + Arrays.toString(t.getStackTrace()));
    t.printStackTrace();// w w w . j  a  v a  2s . c o m
}