Почему не срабатывает catch если использовать цикл while внутри блока try?
Если использовать try внутри цикла то решение работает, оно в коде ниже
закоментированно. Помогите разобраться, почему 1-ый вариант в отличие
от 2-го не работает. Спасибо!
package com.javarush.task.task09.task0921;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Метод в try..catch
*/
public class Solution {
public static void main(String[] args) {
readData();
}
public static void readData() {
//напишите тут ваш код
BufferedReader reader = new BufferedReader( new InputStreamReader(System.in));
ArrayList<Integer> list = new ArrayList<Integer>();
//Неработающее решение:
try {
int sNum = Integer.parseInt(reader.readLine());
while (true) list.add(sNum);
}
catch (Exception e) {
System.out.println(e);
for (int i : list) System.out.println(i);
}
//Работающее решение:
// while (true) {
// try {
// int sNum = Integer.parseInt(reader.readLine());
// list.add(sNum);
// }
// catch (Exception e) {
// for (int i : list) {
// System.out.println(e);
// System.out.println(i);
// }
// }
// }
}
}