gpt4 book ai didi

java - 捕获异常和错误

转载 作者:行者123 更新时间:2023-12-02 05:01:49 25 4
gpt4 key购买 nike

我们有一段用于从队列读取的代码

while(true){
try {
message = readMessageFromQueue();
processMesage(message); //Writes into DB and some other operation
}catch(Exception e) {
log the exception
}
}

现在有十个线程是使用执行器服务生成的,目的是永远运行。然而,我们注意到部署一段时间后(可能是 10-15 天或一个月),线程数量正在减少(因此每秒写入次数也在减少)。

问题是我们应该捕获错误还是只捕获代码中的异常,而我们希望像这样永远运行并且捕获异常会导致此问题?

最佳答案

是的,最好在那里捕获Throwable,而不仅仅是Exception。例如,根据您的处理情况,您可能会得到一个 StackOverflowError ,它将杀死您的线程而不记录日志。您可能无法从中恢复,但至少您可以稍后调试问题。

关于java - 捕获异常和错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28209288/

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