ich einen Code mit dieser Struktur haben:Die lokale Variable möglicherweise nicht initialisiert worden sind - innerhalb einer Methode ungeprüfte Ausnahme throw Detect
public void method() {
Object o;
try {
o = new Object();
} catch (Exception e) {
//Processing, several lines
throw new Error(); //Our own unchecked exception
}
doSomething(o);
}
ich schon einige Methoden haben, in dem ich den gleichen Code in der Fang haben Block, also möchte ich es zu einer Methode extrahieren, damit ich einige Zeilen speichern kann. Mein Problem ist, dass, wenn ich das tue, ich einen Compiler-Fehler bekomme " Die lokale Variable o wurde möglicherweise nicht initialisiert".
public void method() {
Object o;
try {
o = new Object();
} catch (Exception e) {
handleError();
}
//doSomething(o); compiler error
}
private void handleError() throws Error {
//Processing, several lines
throw new Error();
}
Gibt es eine Problemumgehung?
Hinweis initialisieren sollten: Instanzvariable zu initialisieren nicht brauchen, aber der lokalen Variable (Variable in einer Methode) müssen initialisiert werden – gjman2