public void methodB() {
System.out.println("------进入methodB----------");
// init();
String str1 = null;
String str2 = "123";
try{
if(str1.equals(str2)){
}
}catch (Exception e){
System.out.println("----------------"+e.getMessage());
Writer writer = new StringWriter();
PrintWriter printWriter = new PrintWriter(writer);
e.printStackTrace(printWriter);
Throwable cause = e.getCause();
while (cause != null) {
cause.printStackTrace(printWriter);
cause = cause.getCause();
}
printWriter.close();
String result = writer.toString();
System.out.println("======================"+result);
}
/*------进入methodB----------
----------------null
======================java.lang.NullPointerException
at Main2.methodB(Main2.java:16)
at Main.methodA(Main.java:9)
at Main.main(Main.java:3)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)*/
可见第二种收集的信息比第一种全面