Есть вот такой код
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Map<Integer,String> map=new HashMap<Integer,String>();
try{
while(true){
Integer id = Integer.parseInt(reader.readLine());
String name = reader.readLine();
map.put(id, name);
if(name.equals(""))throw new Exception();
}
}
catch(Exception e){
for (Map.Entry<Integer, String> pair : map.entrySet()) {
int key = pair.getKey();
String name = pair.getValue();
System.out.println("Id=" + key + " Name=" + name);
}
}
}
Работает код в общем то идеально, все четко и по делу. Но есть одно большое НО. Компилятор выдает ошибку по поводу незакрытого бесконечного цикла. Хотя все обернуто в блок трай кэтч и в любой ситуации кэтч перехватывает ошибку и выводить мапу с введенными данными. Я понимаю, что где то тут зарыт косяк, но не могу понять где именно. И почему компилятор НетБинс прекрасно выполняет код, а компилятор на сайте не хочет?)я так понимаю, что есть какая то ситуация, которая может выбить мне ошибку. Но какая именно не понимаю. Раз 10-15 прогнал программу - все работает как должно.