У меня для тебя очень глупый вопрос:)
Например, у меня есть следующий фрагмент кода:
class MyClass {
public static void main (String[] args) {
final String status;
try {
method1();
method2();
method3();
status = "OK";
} catch (Exception e) {
status = "BAD"; // <-- why compiler complains about this line??
}
}
public static void method1() throws Exception {
// ...
}
public static void method2() throws Exception {
// ...
}
public static void method3() throws Exception {
// ...
}
}
Вопрос внутри: почему компилятор жалуется на эту строку?
IntelliJ IDEA говорит, что Variable 'status' might already have been assigned to
.
Но, как я вижу, мы никогда не достигаем линии (где мы устанавливаем status = "OK"
) в случае исключительной ситуации. Таким образом, переменная status
будет BAD
, и все должно быть в порядке. И если у нас нет никакого исключения, мы получим OK
. И мы будем устанавливать эту переменную только за один раз.
Любые мысли об этом?
Спасибо за вашу помощь!