记录一下。
Exception的printStackTrace来自于Tthrowable,android下只支持两种方式
printStackTrace(PrintStream err)
printStackTrace(PrintWriter err)
所以没法直接把StringWriter作为参数传递给printStackTrace()获取stackTrace的字串。
通过查找code发现,java.io.StringWriter和java.io.PrintWriter均继承自java.io.Writer;
其中PrintWriter提供以Writer接口作为输入参数的构造函数PrintWriter(Writer wr)
所以可以通过使用StringWriter构造PrintWriter,然后借这个壳去给printStackTrace,就能把stackTrace以字串形式抓出来了。
smaple如下:
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
Exception fe = new Exception();
fe. printStackTrace(pw);
log(sw.toString());
的信息以字符串形式保存&spm=1001.2101.3001.5002&articleId=21870921&d=1&t=3&u=bbe279136ddb48f182a344480fa7223c)
3011

被折叠的 条评论
为什么被折叠?



