По идее цикл на первом условии должен обрываться, но насколько я понял он таки каким то образом считывает пустую строку и уходит в ошибку