Avatar billede mxs Nybegynder
23. maj 2006 - 12:31 Der er 4 kommentarer og
1 løsning

Throw, uden catch eller try

Hej eksperter

Jeg har lavet denne stykke kode

  exception e;

  if(familiy != "AF_INET")
    {
      throw e;
    }

Men det ser ikke ud til at virke. Det jeg vil er at jeg vil smide en exception, og så overlade det til den enkle bruger at fange den. Kan man ikke det? Troede jeg nemlig godt man kunne. Jeg får bare følgende fejl når jeg prøver at køre programmet (den kompiler fint):

slot@debian:~/Programmering/C++/Socket$ g++ socket.cpp job.cpp
slot@debian:~/Programmering/C++/Socket$ ./a.out
Afbrudt (SIGABRT)

Håber at I kan hjælpe.
Avatar billede arne_v Ekspert
23. maj 2006 - 13:16 #1
Skal der ske mere ?

Hvis ikke en exception bliver catches så afsluttes programmet.

På windows med forskellige compilere får jeg:

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

og

Abnormal program termination
Avatar billede mxs Nybegynder
23. maj 2006 - 13:49 #2
Ja okay. Jeg havde overset at mit test program faktisk havde noget forket så den blev kastet, men er det ikke den rigtige måde at gøre det på hvis man vil overlade det til brugeren at catche den og udskrive det som exceptionen melder?
Avatar billede arne_v Ekspert
24. maj 2006 - 00:32 #3
jo

du thrower en exception

den kode som kalder din kode kan catche den exception

vælger den ikke at gøre det så afsluttes programmet og der udskrives en
fejl på konsollen
Avatar billede mxs Nybegynder
24. maj 2006 - 01:41 #4
Det er rigtigt :) Også det jeg har erfaret. Men jeg siger tak. Smid et svar og få nogle point.
Avatar billede arne_v Ekspert
24. maj 2006 - 02:01 #5
svar
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
Kategori
Kurser inden for grundlæggende programmering

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