потому что ошибка логическая и в коде она не видна пока код не начнет выполняться
_________________________
__