Avatar billede bongo13 Praktikant
20. juni 2012 - 10:09 Der er 3 kommentarer og
1 løsning

Undgå at tråd ved en exception stopper

Hejsa
Jeg har en almindleig Java applikation der startes via en tråd kører en run metode. I min run metode connecter jeg til en mail server hvor jeg læser en mængde af EDI beskeder. Hvis en besked er invalid f.eks. at int skal være String cast exception eller at jeg har en null værdi crasher mit program / tråden stopper. Jeg vil egentlig gerne indføre en logik så programmet/tråden ikke crasher,
men fortsætter med at læse næste besked og så logger at en besked havde et problem. Lige lidt kode udsnit

public void run() {
...

Message[] messages = inbox.getMessages();
for (int i = 0; i < messages.length; i++) {
Message m = messages[i];
boolean processed = processMessage(m);
....
}

Jeg vil egentlig gerne konceptuelt have nogle kommentarer
Avatar billede tjp Mester
20. juni 2012 - 10:23 #1
Er det ikke bare at catch'e exceptionen i en Try/Catch, gøre noget ved problemet/springe beskeden over og gå videre med næste besked?
Avatar billede bongo13 Praktikant
20. juni 2012 - 11:07 #2
tjp>> beskeden bliver læst i en forlække og ja så try catcher jeg, og hvis der opstår en få ja så ender jeg i catchen, men vil min foreløkke så løbe videre til næste besked ?. Mig bekendt vil en exception da stoppe hele programmet ?
Avatar billede tjp Mester
20. juni 2012 - 12:38 #3
Vil mene at hvis du laver try/catchen inde i for-løkken, vil du ku fortsætte med næste besked efter fejlhåndteringen:

    for (int i = 0; i < messages.length; i++) {
        try{
            Message m = messages[i];
            boolean processed = processMessage(m);
            ....
        } catch (NumberFormatException nfe){
            //Lav fejlhåndtering her
        }
    }
Avatar billede bongo13 Praktikant
17. november 2012 - 17:09 #4
Lukker spørgsmålet
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





CIO
Årets CIO 2022: Nu skal Danmarks dygtigste CIO findes - er det dig? Eller kender du en, du vil indstille?