プロジェクトに取り組んでいるときに、本番システム向けの次のコードに出くわしました。
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』で公開したように、例外をドロップしないという基本原則に固執してきました。また、他の誰かが例外をドロップした場所でコードをデバッグしなければならなかった私自身の広範な経験をサポートしてきました。今日まで、それが良いアイデアであるケースを見つけていません (チェックされた例外をキャッチしてランタイムをスローすることは、議論の余地があるほど合理的ですが、ここではそれらのケースについては話していません)。
コメントをお寄せいただきありがとうございます。