printStackTrace()和toString()之间的区别

printStackTrace()和toString()之间的区别,第1张

printStackTrace()和toString()之间的区别

不,有重要区别!使用toString,您只有异常的类型和错误消息。使用printStackTrace()可以获得异常的整个堆栈跟踪,这对于调试非常有帮助。

System.out.println(toString())的示例

java.io.FileNotFoundException: yourFile.txt (The system cannot find the file specified)

printStackTrace()的示例:

java.io.FileNotFoundException: yourFile.txt (The system cannot find the file specified)at java.io.FileInputStream.open(Native Method)at java.io.FileInputStream.(FileInputStream.java:106)at java.io.FileReader.(FileReader.java:55)at ReadFromFile.main(ReadFromFile.java:14)

要制作整个stacktrace的字符串,通常使用以下方法:

public static String exceptionStacktraceToString(Exception e){    ByteArrayOutputStream baos = new ByteArrayOutputStream();    PrintStream ps = new PrintStream(baos);    e.printStackTrace(ps);    ps.close();    return baos.toString();}

还要注意,简单地调用

toString()
只会返回一个字符串,而不会输出任何内容。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5428705.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存