Avatar billede toftevej Nybegynder
22. november 2001 - 13:34 Der er 13 kommentarer og
1 løsning

exceptions

Jeg er totalt newbee mht. exceptions, men jeg tror det kan hjælpe mig ud af et seriøst problem.
Jeg ved, at strukturen er
try{
}
catch{exceptiontype
}

men jeg aner ikke hvilken exceptiontype, jeg skal bruge. Er der ikke en defalt type, der i det mindste kan give mig en ide om, hvad der er galt?

Avatar billede disky Nybegynder
22. november 2001 - 13:37 #1
try
{
}
catch (ExceptionType e)
{
}
Avatar billede mickni33 Nybegynder
22. november 2001 - 13:41 #2
ved ikke om der findes standard typer, som i Java,  i C++ Men ellers skal man selv lave sine egne exception klasser. kig på nettet
Avatar billede toftevej Nybegynder
22. november 2001 - 13:51 #3
og hvordan finder jeg så ud af hvad fejlen er?
e.GetEtEllerAndet?
Avatar billede mickni33 Nybegynder
22. november 2001 - 13:58 #4
Noget ligende sådan her

try
{
x=x+1;
  if(x<10)
  cout<<x;
else{
  catch (ExceptionType e){
  cout<<\"dit tal er over 10\";
  }
}
}
Avatar billede disky Nybegynder
22. november 2001 - 14:05 #5
nej exceptions er noget man bruger til f.eks at fange en Division by zero.
Avatar billede henrik_ffc Nybegynder
22. november 2001 - 14:10 #6
mickni>>
Den er ikke meget bevendt, da det jo bare en en standard if-else konstruktion.
Try-cache\'s fordel er at den kan fange uforudsete hændelser som fx.

x=10;
try
{
  for (i=1; i<20; i++) cout << i/x--;
}
catch (ExceptionType e)
{
  cout << \"Division med 0. Det må man ikke. FY!\";
}
Avatar billede soepro Nybegynder
22. november 2001 - 14:12 #7
Fejlen findes i tekst form som

e.Message
Avatar billede mickni33 Nybegynder
22. november 2001 - 14:17 #8
Du har helt ret som ved arrayOutOfBounds
Det var ikke lige det beste ex
Avatar billede disky Nybegynder
22. november 2001 - 14:21 #9
mickni: araayOutOfBound er en java exception i C++ er der ikke boundary checks, hvorfor tror du der findes så mange bufferoverrun fejl
Avatar billede soepro Nybegynder
22. november 2001 - 14:35 #10
disky >> i C++ Builder kan man få compileren til at checke det, så det afhænger vist af hvilken compiler du bruger !
Avatar billede disky Nybegynder
22. november 2001 - 14:37 #11
soepro: hvad nytter det at kompileren checker det når det er en runtime fejl
Avatar billede soepro Nybegynder
22. november 2001 - 14:39 #12
Compileren inkluderer kode til at check for out-of-bounds hver gang man anvender et indeks til et tabel - helt ligesom JAVA gør. Således !
Avatar billede disky Nybegynder
22. november 2001 - 14:42 #13
okay det er noget specifikt borland halløj, for det er bestemt ikke standard C++
Avatar billede disky Nybegynder
22. november 2001 - 14:42 #14
men okay borland produkter er jo ikke ligefrem kendte for at lade brugeren tænke selv
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