我已经进行了一些简单的实验,如下所示:
public static void main(String[] args) {
try {
NullPointerException n = new NullPointerException();
System.out.println(Lists.newArrayList(n.getStackTrace()));
n.printStackTrace();
System.out.println(Lists.newArrayList(n.getStackTrace()));
throw n;
} catch (NullPointerException e) {
e.printStackTrace();
System.out.println(Lists.newArrayList(e.getStackTrace()));
}
}
并得到这样的输出:
java.lang.NullPointerException
at MyTest.main(MyTest.java:231)
java.lang.NullPointerException
at MyTest.main(MyTest.java:231)
[MyTest.main(AbstractScannerTest.java:231)]
[MyTest.main(AbstractScannerTest.java:231)]
[MyTest.main(AbstractScannerTest.java:231)]
但是我想知道在抛出异常时是否对异常进行了任何处理。这是一个主要的学术问题,尽管在某些情况下,如果异常是 API 的一部分并且在提供给实现时可能会或可能不会被抛出,这可能是相关的。