Fix logic bug in tick(); catch must-catch exception in tick()