Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Är det smart att alltid avsluta sista catch-blocket i ett try-block med Exceptio

Postades av 2006-01-04 00:06:22 - Jonas Amnå, i forum java, Tråden har 6 Kommentarer och lästs av 1369 personer

Hejsan!

Som rubriken lyder så undrar jag om det är kutym att alltid avsluta ett try-catch block med den generella
undantagshanteraren Exception? Enda användningen för detta är att man då garderar sig mot eventuella fel som eventuellt kan inträffa som man inte vet med sig själv (som man iofs bör göra).
Hur brukar ni göra? Kanske verkar som en dum fråga men jag undrar bara vad ni tycker?

ex

try{
hipp, hopp nu vill jag öppna en fil
}
catch(FileNotFoundException fnfe)
{
skriv ut felmeddelande och avsluta programmet
}
catch(Exception e)
{
garderar mig mot eventuella exceptions som jag inte vet??????
}


//Jonas


Svara

Sv: Är det smart att alltid avsluta sista catch-blocket i ett try-block med Exce

Postades av 2006-01-04 08:08:20 - Mattias Vartiainen

Alltså, sker det ett oväntat fel så kan det ju vara bra att ta hand om det på något sätt. Visa ett felmeddelande för användaren istället för att hela applikationen ska dö.

Är det en väldigt vital del i programmet som ej går att köra så kan du ju upplysa användaren om det och stänga ner applikatonen lite snyggt, och eventuellt spara ett felmeddelande som han kan skicka till dig. Det är ju bättre än att bara få upp ett "..exception occured.." och en krasch


Svara

Sv: Är det smart att alltid avsluta sista catch-blocket i ett try-block med Exce

Postades av 2006-01-04 12:10:58 - Andreas Hillqvist

Nej det är inte bra att generelt fånga "alla" exeptions om du inte skickar felet vidare.
För proceduren som anropar antar då att den genomförts framgångsrikt.

Om du inte känner till vilket fel som har uppstått bör du därför alltid skicka det vidare. Om du nått högsta nivån, actionhandlern som anropas när användaren startat funktionen så kan du där fånga undantaget och presentera det för användarna och/eller logga det. Men inte på någon annan nivå.


Svara

Sv: Är det smart att alltid avsluta sista catch-blocket i ett try-block med Exce

Postades av 2006-01-04 16:09:57 - Jonas Amnå

Tack sä mycket för de uttömmande svaren, då förstår jag.

//Jonas


Svara

Sv:Är det smart att alltid avsluta sista catch-blocket i ett try-block med Exce

Postades av 2006-01-25 20:48:25 - Peter Ramström

Tjena, du verkar ha fått svar på din fråga, men jag skulle vilja tillägga en viktig detalj i
ditt exempel.
Jag kanske är petig när du inte specifikt frågade om det men jag skulle vilja att det
såg ut mer åt det här hållet:

byte[] bytearray = new byte[512];
int len = 0;
FileInputStream input = null;
FileOutputStream output = null;
try{
    input=new FileInputStream(new File("file2copy.txt"));
    output=new FileOutputStream(new File("destination.txt"));
    while((len = input.read(bytearray)) != -1){
             output.write(bytearray, 0, len);
     }
}catch(FileNotFoundException fnfe){
     //Hmm, filen finns inte!? Fel sökväg? Eller har den blivit borttagen?
}catch(IOException ioe){
    //Här kan man hantera IOException istället för att direkt gå på ett generellt 
    //Exception, beror givetvis på vad man ska göra men det känns vitalt.
}catch(Exception e){
     //Shit, det small!! OCH det var inget jag fångat upp innan!!!
    // Obra, men vi kan hantera det iaf.
}finally{
    //Här stänger vi input och output oavsätt om det small tidigare
    // Under förutsättning att vi lyckats initierat våra stömmar. 
    if(input!=null){try{input.close();}catch(Exception ex){ex.printStackTrace();}}
    if(output!=null){try{output.close();}catch(Exception ex){ex.printStackTrace();}}
}


Hoppas du var med på skillnaden.


Svara

Sv: Är det smart att alltid avsluta sista catch-blocket i ett try-block med Exce

Postades av 2006-01-29 21:20:08 - Jonas Amnå

Hejsan!

Tack Peter för ditt tillägg, mycket viktig och bra info.
och du är inte petig utan noggrann heter det.


//Jonas


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 763
27 959
271 761
456
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies