打印 Exception 的方式汇总
e.getMessage():
exepct ‘[’, but error, pos 1, json : ssss
e.getLocalizedMessage():
exepct ‘[’, but error, pos 1, json : ssss
e.toString():
com.alibaba.fastjson.JSONException: exepct ‘[’, but error, pos 1, json : ssss
e.printStackTrace():
06-15 09:49:57.872 14735-14735/com.gdeer W/System.err: com.alibaba.fastjson.JSONException: exepct '[', but error, pos 1, json : ssss
at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:651)
at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:641)
at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:636)
at com.alibaba.fastjson.JSON.parseArray(JSON.java:503)
at com.gdeer.shortcut.ShortcutModel.parseLocalAddedList(ShortcutModel.java:172)
at com.gdeer.shortcut.ShortcutModel.initLocalData(ShortcutModel.java:160)
at com.gdeer.shortcut.ShortcutModel.addShortcut(ShortcutModel.java:65)
at com.gdeer.activity.MainActivity.callOnCreate_aroundBody0(MainActivity.java:233)
at com.gdeer.activity.MainActivity$AjcClosure1.run(MainActivity.java:1)
at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:149)
at hugo.weaving.internal.Hugo.logAndExecute(Hugo.java:39)
at com.gdeer.activity.MainActivity.callOnCreate(MainActivity.java:190)
at com.gdeer.activity.MainActivity.access$000(MainActivity.java:94)
at com.gdeer.activity.MainActivity$1.run(MainActivity.java:152)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5217)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:818)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
at dalvik.system.NativeStart.main(Native Method)
把 e.printStackTrace 变成 string:
-
Log.getStackTraceString(e):
跟 e.printStackTrace() 打印出的一致
-
自定义方法
public static String a(Throwable var0) {
if (var0 == null) {
return null;
} else {
String var1 = null;
try {
StringWriter var2 = new StringWriter();
PrintWriter var3 = new PrintWriter(var2);
var0.printStackTrace(var3);
for(Throwable var4 = var0.getCause(); var4 != null; var4 = var4.getCause()) {
var4.printStackTrace(var3);
}
var1 = var2.toString();
var3.close();
var2.close();
} catch (Exception var5) {
var5.printStackTrace();
}
return var1;
}
}