04. februar 2002 - 10:32Der er
8 kommentarer og 1 løsning
Hvorfor finally?
Her er en typisk opbygning af try-catch og med finally til sidst - det har de fleste programmører set, men jeg forstår ikke hvorfor man skal have finally.
Mød TrackMan og Veo på Computerworld Cloud & AI Festival og hør, hvordan tech ændrer måden, vi træner og udvikler talent – fra skolebold til The Masters.
Øøøøøøh, yes? Programmet kører jo videre efter at "finally" er udført.......hvorved det næste bliver udført, med mindre der sker en "forgrening" i "finally" Finally bruges til at "rydde op", så som at lukke filer, netforbindelser osv.
Hvis din kode i try{} blokken kaster en exception vil koden efter try-catch-finally IKKE blive udført. Derfor skal vigtig kode som lukning af filer, netforbindelser osv. skrives i finally-blokken for derved at sikre at det vil blive udført SELVOM at der kastes en exception.
Ok, jeg skrev lidt forkert..det jeg menter er at når der kastes en exception i try-blokken vil resten af try blokken ikke blive udført hvorfor vigtig kode puttes i finally blokken.
Emh, nej. Der er to tilfælde hvor det ikke er sandt:
1. Hvis catch-blokken kaster en "ny" excpetion vil koden i finally-blokken blive udført, men det vil koden efter try-catch-finally IKKE.
2. Hvis der ikke er en catch-blok for den kastede exceoption vil den pågældende exception blive givet til den kaldende metode EFTER at koden i finally-blokken er udført. Derimod vil kode efter try-catch-finally IKKE blive udført.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.