Devrait try...catch aller à l'intérieur ou à l'extérieur d'une boucle?

J'ai une boucle qui ressemble à quelque chose comme ceci:

for (int i = 0; i < max; i++) {
    String myString = ...;
    float myNum = Float.parseFloat(myString);
    myFloats[i] = myNum;
}

C'est le contenu principal d'une méthode dont le seul but est de retourner un tableau de chars. Je veux cette méthode pour retourner null si il y a une erreur, alors j'ai mis la boucle à l'intérieur d'un try...catch bloc, comme ceci:

try {
    for (int i = 0; i < max; i++) {
        String myString = ...;
        float myNum = Float.parseFloat(myString);
        myFloats[i] = myNum;
    }
} catch (NumberFormatException ex) {
    return null;
}

Mais j'ai aussi pensé à mettre la try...catch bloc à l'intérieur de la boucle, comme ceci:

for (int i = 0; i < max; i++) {
    String myString = ...;
    try {
        float myNum = Float.parseFloat(myString);
    } catch (NumberFormatException ex) {
        return null;
    }
    myFloats[i] = myNum;
}

Est-il une raison, de la performance ou autrement, de préférer l'un sur l'autre?


Edit: Le consensus semble être que c'est plus propre de mettre la boucle à l'intérieur de la try/catch, éventuellement à l'intérieur de sa propre méthode. Cependant, il y a toujours un débat sur qui est plus rapide. Quelqu'un peut essayer et revenir avec une réponse unifiée?

  • Je ne sais pas à propos de la performance, mais le code est plus propre avec le try catch en dehors de la boucle for.