gpt4 book ai didi

java - 没有线程名称的异常

转载 作者:行者123 更新时间:2023-11-30 07:08:15 26 4
gpt4 key购买 nike

我的一个多线程应用程序在抛出异常时不包含线程名称。我得到如下异常

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at dataimporter.Importer.run(Importer.java:201)
at java.lang.Thread.run(Unknown Source)

它是否包含线程名称?

最佳答案

您可以在Thread 中注册一个UncaughtExceptionHandler 并打印出您需要的信息。

Thread thread = new Thread(..);
thread.setUncaughtExceptionHandler((t, ex) -> // fancy Java 8 syntax
System.out.println(t.getName() + " " + ex)
); // or print the stack trace after it
thread.start();

上面有一些 Java 8 语法。如果您不使用它,则可以简单地使用匿名类。

UncaughtExceptionHandler handler = new UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread t, Throwable ex) {
System.out.println(t.getName() + " " + ex);
}
};
thread.setUncaughtExceptionHandler(handler);

关于java - 没有线程名称的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24130382/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com