dlaczego tak się dzieje??

0

Dlaczego gdy z tego kodu usune przypisanie zmiennej line wartości kompilator wywala błąd, że zmienna line nie została zainicjowana a gdy zadeklaruje ją w bloku try wyskakuje błąd, że nie można rozpoznać zmiennej line przy poleceniu return line;?

import java.io.*;

public class Main{
	public String readLine(){
		BufferedReader bur = new BufferedReader(
					new InputStreamReader(System.in));	
		String line = " ";
		try{
			line = bur.readLine();			
		}
		catch(IOException e){System.out.println(e + "o w morde");}			
		return line;
	}
	public static void main (String args[]){
		Main man = new Main();
		System.out.println(man.readLine());
	}
}
0

zmienne musza byc DEFINIOWANE poza blokiem try. W przypadku bledu, blok TRY zostanie opuszczony i zmienna MOZE nie zostac zdefiniowana. To jest zasada i dlatego zglasza blad. Trzeba o tym pamietac, chociaz java i tak powie swoje dla przypomnienia :>

1 użytkowników online, w tym zalogowanych: 0, gości: 1