Скажем, у меня есть строки ниже в любом классе Java,
System.out.println("start");
if(true)//The compiler will give compile time error if I uncomment this.
throw new RuntimeException();
System.out.println("end");
Сообщение об ошибке недоступного кода появится, если закомментировано if(true)
. Почему компилятор не знает, что строка под if(true)
всегда будет выполняться?
Разработан ли компилятор Java для такой работы или это ограничение?