у меня есть это очень простой фрагмент кода:Недоступен оператор возврата по-прежнему бросает ошибку
static String getInput() throws IOException{
if(in.ready()){
return in.readLine().trim();
}
System.err.println("Please provide more input in order to execute the program.");
System.exit(0);
return "";
}
, что я думаю, я знаю, что нет никакой возможности, что виртуальная машина будет выполнять оператор возврата в конце кода , Но если я прокомментирую эту строку, java будет жаловаться на отсутствующий оператор return. Почему JVM не признает, что System.exit (0) не позволит выполнять какой-либо другой код, но жалуется на недопустимые операторы, если возврат не позволит выполнить код? Я думаю, что выражение return в конце является избыточным и может смущать других разработчиков, так почему я не позволю мне избавиться от него?
System.exit (0); это всего лишь метод в отношении компилятора, и SecurityManager может помешать ему что-либо сделать. например, если вы вызываете его на сервере приложений, вы не хотите, чтобы он убивал все приложения. –