Sobes.tech
Junior — Middle

Millistel juhtudel on Java-s soovitatav kasutada finally plokki ressursside haldamiseks või operatsioonide lõpetamiseks?

sobes.tech AI

Vastus AI-lt

Java finally plokk kasutatakse selleks, et tagada koodi täitmine sõltumata sellest, kas erand tekkis või mitte. See on eriti oluline ressurssidega töötamisel, mis nõuavad vabastamist, näiteks failid, võrguliidesed, vooged.

Soovitatav on kasutada finally, kui:

  • Sulgeda avatud ressursid (InputStream, OutputStream, Connection jne)
  • Teha puhastust või oleku lähtestamist
  • Lõpetada tehingud või operatsioonid, mis peavad lõppema igal juhul

Näide:

FileInputStream fis = null;
try {
    fis = new FileInputStream("file.txt");
    // töö failiga
} catch (IOException e) {
    e.printStackTrace();
} finally {
    if (fis != null) {
        try {
            fis.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Kaasaegsetes Java versioonides soovitatakse kasutada try-with-resources, mis automaatselt sulgeb ressursid, kuid finally on endiselt oluline teiste lõpetamistoimingute jaoks.