2017-07-27 3 views
0

J'ai généré une revue de code fortifiée et j'ai obtenu une gravité moyenne pour la fermeture de FileStream (dans le bloc try-with-resources) et file.delete in finally. Comment puis-je supprimer ces problèmes?Fortifier les marques try-with-resources en tant que Gravité moyenne Problème

Category Detail Location Severity 
Poor Error Handling : Throw Inside Finally FinallyBlock classA.java:108 Medium 
Poor Error Handling : Throw Inside Finally FinallyBlock classB.java:87 Medium 

ClassA.java: 108

try (OutputStream recordsFileOut = new FileOutputStream(downloadFile.toFile()); 
    OutputStream rejectedFileOut = new FileOutputStream(rejectedRecordsFile.toFile())) { 


     ...... 


} 

classB.java: 87

try { 

} catch(IOException ex) { 


} finally { 
    outputFile.toFile().delete(); 
} 
+0

pouvez-vous partager le code qui a provoqué cet avertissement? – Mureinik

+0

Mise à jour de la question avec du code. – Fazeel

Répondre

0

À partir du code que vous montrez, je ne peux en déduire que outputFile.toFile() doit jeter une exception saisissable. Cela causera alors .delete() d'être contourné et cela doit être quelque chose dont Fortify se plaint. Pour plus de détails, voir this page pour plus de détails.

+0

pour classB.java: 87 Je connais le problème et je l'ai corrigé. – Fazeel

+0

pour ClassA.java: 108 Je pense que outputstream.close peut lancer une exception mais cela signifierait que je dois rester complètement à l'écart de try-with-resources pour gérer cela. – Fazeel