我正在写一个游戏程序,很少我会得到一个例外。我希望能够记录我在单独的线程上获得的所有异常。我的程序已经是多线程的。在某些情况下,我使用try catch,对于那些我只能设置一个异常变量到捕获的异常。但是,我希望能够找到所有线程上抛出的所有异常,而不将每个语句都放在try catch中。为了澄清,我希望异常对象不仅仅是异常的名称。
答案 0 :(得分:2)
你想要Thread.UncaughtExceptionHandler:
当线程因未捕获的异常而突然终止时调用的处理程序接口。 当一个线程由于未捕获的异常而即将终止时,Java虚拟机将使用Thread.getUncaughtExceptionHandler()向线程查询其UncaughtExceptionHandler,并将调用该处理程序的uncaughtException方法,并将该线程和异常作为参数传递。如果某个线程没有显式设置其UncaughtExceptionHandler,则其ThreadGroup对象将充当其UncaughtExceptionHandler。如果ThreadGroup对象对处理异常没有特殊要求,它可以将调用转发给默认的未捕获异常处理程序。
有关详细信息,请参阅here。
答案 1 :(得分:0)
答案 2 :(得分:0)