La variable locale n'aurait pas été initialisée Détecter décoché exception jeter dans une méthode

J'ai un code avec cette structure:

public void method() {
    Object o;
    try {
        o = new Object();
    } catch (Exception e) {
        //Processing, several lines
        throw new Error(); //Our own unchecked exception
    }
    doSomething(o);
}

J'ai assez peu de méthodes dans lesquelles j'ai le même code dans le bloc catch, donc je veux l'extraire à une méthode afin que je puisse sauver quelques lignes. Mon problème, c'est que si je fais ça, j'obtiens une erreur du compilateur"
La variable locale o n'aurait pas été initialisé".

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();
}

Est-il une solution de contournement?

Remarque:la variable d'Instance, pas besoin d'initialiser mais la variable locale(variable à l'intérieur d'une méthode) besoin d'initialiser

OriginalL'auteur Luis Sep | 2013-08-07