30. august 2008 - 07:59Der er
13 kommentarer og 2 løsninger
try, catch, finally
Hej Eksperter,
Jeg har lige et spørgsmål om try catch finally.
try{ et eller andet } catch(Exception e){} finally{}
er rigtigt ikke?
Hvis jeg nu ikke vil fange den Exception så kan jeg vel
try{ et eller andet } finally{}
Sagen er den at jeg ikke vil have Exceptionen ud i loggen. Det vil sige jeg vil gerne men dem jeg laver det for vil ikke. Mit spørgsmål er i virkeligheden hvad forskellen på catch og finally er?
Ideen er med try/catch er jo at vi prøver noget, hvis ikke det går godt, så fanger vi en exception. Men du kan jo undlade at eksekvere noget kode i din catch()
ahh. Jeg tror jeg har forstået det. Forskellen på catch og finally er at catch fanger exceptionen og finally ser bort fra den, men der skal være mindst en af dem på en try, right?
Koden i en catch blok bliver kørt hvis den angivne exception sker.
Koden i en finally block bliver altid kørt - success, exception i catch blok, en runtime exception er ligegyldigt (den bliver dog ikke kørt hvis strømmen går af computeren !).
Hvis du vil sluge en exception, så skal du bruge en catch. En exception der catches vil ikke blive logget. Hvilket betyder at du bør eksplicit logge den så man kan se hvad der sker i programmet !!
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.