在开发一个项目时,我遇到了这段代码,它是用于生产系统的:
public static void sleepUntil(long millisecondToWake) {
while (true) {
long currentMillisecond = System.currentTimeMillis();
if (currentMillisecond >= millisecondToWake) {
break;
}
try {
Thread.sleep(millisecondToWake - currentMillisecond);
}
catch (InterruptedException ignoredException) {
// do nothing
}
}
}
我一直坚持不丢弃异常的基本原则,这也是Joshua Bloch在《Effective Java》中提出的,并得到了我自己广泛经验的支持,因为我曾经不得不调试某些其他人丢弃异常的代码。迄今为止,我还没有发现一个好主意的情况(有时捕获已检查的异常并抛出运行时异常是可以辩论的,但我在这里不谈论这些情况)。
感谢您提供任何评论。