有时我们想将发生的异常转换为String
。在下面的程序中,我们使用Throwable.printStackTrace(PrintWriter pw)
将stacktrace
转换为String
。
示例:将Exception StackTrace
转换为String
package com.beginnersbook.string;
import java.io.PrintWriter;
import java.io.StringWriter;
public class StacktraceToString {
public static void main(String args[]){
try{
int i =5/0;
System.out.println(i);
}catch(ArithmeticException e){
/* This block of code would convert the
* stacktrace to string by using
* Throwable.printStackTrace(PrintWriter pw)
* which sends the stacktrace to the writer
* that we can convert to string using tostring()
*/
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
String stacktraceString = sw.toString();
System.out.println("String is: "+stacktraceString);
}
}
}
输出:
String is: java.lang.ArithmeticException: / by zero
at com.beginnersbook.string.StacktraceToString.main(StacktraceToString.java:8)