try - catch
-
Hi,
ich hab ein Problem mit einem try-catch Block, ich möchte um das einlesen einen try-catch Block legen nur mekert dann der compiler, das ich Variablen nicht initialisiert habe. Lege ich z.B. den Block vor "FileInput Stream eingabestrom"
und nach "BufferedReader br" dann bekomme ich die Message:--------------------------------- ERROR ------------------
java.lang.Error: Unresolved compilation problem:
The local variable br may not have been initializedat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at GDI.Erkenner.erkenne(Erkenner.java:24)
at GDI.Syntax.teste(Syntax.java:17)
at GDI.Syntax.main(Syntax.java:27)
Exception in thread "main"
--------------------------------- ERROR --------------------------------------------------- CODE -------------------
public class Testing {
private Object br;public List erkenne() throws IOException
{
FileInputStream eingabestrom = new FileInputStream ("test.txt");
InputStreamReader isr = new InputStreamReader(eingabestrom);
BufferedReader br = new BufferedReader(isr);
StreamTokenizer st = new StreamTokenizer(br);Testing test = new Testing ();
List list = new ArrayList();
st.eolIsSignificant(true);
st.commentChar('#');
st.lowerCaseMode(true);
st.quoteChar('"');while (st.ttype != StreamTokenizer.TT_EOF)
{....
}
......
}
--------------------------------- CODE -------------------
-
wenn du die variablen vorher mit =null initialisierst sollte es funktionieren
-
Wie steve schon sagte sollte eine Initialisation vor dem try-Block kommen.
[java]public List erkenne() throws IOException
{
FileInputStream eingabestrom = null;
InputStreamReader isr = null;
BufferedReader br = null;
StreamTokenizer st = null;try {
eingabestrom = FileInputStream ("test.txt");
isr = new InputStreamReader(eingabestrom);
br = new BufferedReader(isr);
st = new StreamTokenizer(br);
} catch (...) {
...
}Testing test = new Testing ();
List list = new ArrayList();
st.eolIsSignificant(true);
st.commentChar('#');
st.lowerCaseMode(true);
st.quoteChar('"');while (st.ttype != StreamTokenizer.TT_EOF)
{....
}
......
}[/code]Bitte Code-Tags benutzen - Danke!
[ Dieser Beitrag wurde am 06.03.2003 um 14:24 Uhr von CengizS editiert. ]
-
fantastisch, es funktioniert, vielen dank!
und danke CengizS für das Codebeispiel. Sowas ist immer gut