If I strike you as upset, it is more likely a frustration of trying to communicate without writing code. Albeit, I find most people in life don't like to be coded at.
while(isAlive() && !isRetired()) {
try {
while(timeOfDay() < endOfShift()) doWork();
}catch(SickException e) {
sleep(86400000);
}catch(VacationException e) {
doVacation();
}catch(Exception e) {
recover(e);
}
}
while(isAlive()) /* do nothing */ relax();