Unmotivated

やる気はない

StackTrace を文字列として取得する

Java において StackTrace を取得する。
どこかに仕込んでおくとデバッグ時に何かと便利。

1
2
3
4
5
6
7
8
9
public static String getStackTrace() {
    StackTraceElement[] stacks = new Throwable().getStackTrace();
    StringBuilder sb = new StringBuilder();
    for(StackTraceElement e : stacks) {
        if(e == stacks[0]) continue;
        sb.append(String.format("\tat %s(%s:%s)", e.getMethodName(), e.getFileName(), e.getLineNumber()));
    }
    return sb.toString();
}

Comments