Почему в Java возникает ошибка компилятора «недостижимый оператор»?

Я часто обнаруживаю, что при отладке программы удобно (хотя, возможно, и плохая практика) вставлять оператор возврата внутрь блока кода. Я мог бы попробовать что-то подобное в Java ....

class Test {
        public static void main(String args[]) {
                System.out.println("hello world");
                return;
                System.out.println("i think this line might cause a problem");
        }
}

конечно, это привело бы к ошибке компилятора.

Test.java:7: unreachable statement

Я мог понять, почему предупреждение может быть оправдано как имеющее неиспользуемый код - плохая практика. Но я не понимаю, почему это должно вызывать ошибку.

Это просто Java пытается быть няней, или есть веская причина сделать это ошибкой компилятора?

80
задан Cœur 30 July 2017 в 10:26
поделиться