printStackTrace() 方法在 Java 中的用途是什么?
2022-08-31 10:02:03
我正在通过一个套接字程序。在其中,在 catch 块中的对象上调用。
实际上有什么作用?printStackTrace
IOException
printStackTrace()
catch(IOException ioe)
{
ioe.printStackTrace();
}
我不知道它的目的。它的用途是什么?
我正在通过一个套接字程序。在其中,在 catch 块中的对象上调用。
实际上有什么作用?printStackTrace
IOException
printStackTrace()
catch(IOException ioe)
{
ioe.printStackTrace();
}
我不知道它的目的。它的用途是什么?
它是实例上的一种方法,用于将实例的堆栈跟踪输出到 System.err
。Exception
这是一个非常简单,但非常有用的工具,用于诊断异常。它告诉您发生了什么以及代码中发生这种情况的位置。
以下是在实践中如何使用它的示例:
try {
// ...
} catch (SomeException e) {
e.printStackTrace();
}
请注意,在“严肃的生产代码”中,由于各种原因(例如不太有用且线程不安全),您通常不想这样做。在这些情况下,您通常使用一些日志框架,该框架使用类似 这样的命令提供相同(或非常相似)的输出。System.out
log.error("Error during frobnication", e);
我对此也有点好奇,所以我只是整理了一些示例代码,您可以在其中看到它正在做什么:
try {
throw new NullPointerException();
}
catch (NullPointerException e) {
System.out.println(e);
}
try {
throw new IOException();
}
catch (IOException e) {
e.printStackTrace();
}
System.exit(0);
调用 println(e)
:
java.lang.NullPointerException
调用 e.printStackTrace()
:
java.io.IOException at package.Test.main(Test.java:74)