Не проходит валидацию по последним пунктами. try-catch раньше был в методе, но тоже не работал. Пробовал и ловить, и пробрасывать ошибку - ничего. Пишет, что некорректный ввод должен присваивать полю null, хотя оно через дебагер и так null с самого начала, а потом уже либо обновляется либо остается null.
package com.javarush.task.task15.task1522;
import com.sun.org.apache.bcel.internal.generic.ATHROW;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Закрепляем паттерн Singleton
*/
public class Solution {
public static void main(String[] args) {
}
public static Planet thePlanet;
static {
try {
thePlanet = readKeyFromConsoleAndInitPlanet();
} catch (IOException ignored) {
thePlanet = null;
}
}
public static Planet readKeyFromConsoleAndInitPlanet() throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String str = reader.readLine();
reader.close();
switch (str) {
case Planet.SUN:
return Sun.getInstance();
case Planet.MOON:
return Moon.getInstance();
case Planet.EARTH:
return Earth.getInstance();
default:
return null;
}
}
}