printStackTrace()、toString()、getMessage()的区别,
分享于 点击 12205 次 点评:104
printStackTrace()、toString()、getMessage()的区别,
1、创建Exception对象
按照与创建Java对象一样的方法创建违例对象:在内存“堆”里,使用new来创建。
举例:
throw new NullPointerException();
这样便“掷”出了一个违例。在当前场景中,它使我们能放弃进一步解决该问题的企图。
该问题会被转移到其他更恰当的地方解决。准确地说,那个地方不久就会显露出来。
2、printStackTrace()、toString()、getMessage()的区别
- public void printStackTrace()
将此 throwable 及其追踪输出至标准错误流。
此方法将此 Throwable或Exception 对象的堆栈跟踪输出至错误输出流,作为字段 System.err 的值。
输出的第一行包含此对象的 toString() 方法的结果。剩余行表示以前由方法 fillInStackTrace() 记录的数据。
输出格式举例:
java.lang.NullPointerException
at MyClass.mash(MyClass.java:9)
at MyClass.crunch(MyClass.java:6)
at MyClass.main(MyClass.java:3)
使用举例:
try...{
//Java程序代码
}
catch(Exception e)...{
e.printStackTrace();
} - public String getMessage()
返回此 Throwable或Exception 的详细消息字符串。
使用举例:
try...{
//java程序代码
}
catch(Exception e)...{
System.out.println();
}
public String toString()
返回此 Throwable或Exception 的简短描述。
如果此 Throwable或Exception 对象是利用非空详细消息字符串创建的,则结果是三个字符串的串联:
1)此对象的实际类的名称
2)": "(冒号和空格)
3)此对象的 getMessage() 方法的结果
如果此 Throwable或Exception 对象利用 null 详细消息字符串创建,则返回此对象的实际类的名称。 使用举例: try...{
//Java程序代码
}
catch(Exception e)..{
System.err.println(e.toString());
}
相关文章
- 暂无相关文章
用户点评