在处理项目时,我遇到了用于生产系统的代码:
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
}
}
}
Run Code Online (Sandbox Code Playgroud)
我一直坚持不断删除Joshua Bloch在Effective Java中暴露的异常的基本原则,并且支持我自己的调试代码,而其他人确实放弃了异常.到目前为止,我还没有找到一个好主意的案例(有时候捕获已检查的异常并抛出运行时是合理的,但我不是在谈论这些情况).
提前感谢您的任何意见.