Рассмотрим эту функцию:
public boolean foo(){
System.exit(1);
//The lines beyond this will not be read
int bar = 1; //L1
//But the return statement is required for syntactically correct code
return false; //L2
//error here for unreachable code
//int unreachable = 3; //L3
}
Может кто-нибудь объяснить, почему L1 и L2 явно недоступны, не дают предупреждений, но L3 делает.