/ Forside/ Teknologi / Udvikling / C/C++ / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Default exception?
Fra : stk
Vist : 559 gange
100 point
Dato : 22-11-01 13:35

Hejsa.

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?

stefan

 
 
Accepteret svar
Fra : briani

Modtaget 110 point
Dato : 22-11-01 13:45
Kommentar
Fra : PARKENSS


Dato : 22-11-01 13:50

Hej
try
{
}
catch (ExceptionType e)
{
}

Mvh
Parkenss

Kommentar
Fra : stk


Dato : 22-11-01 13:54

og hvordan finder jeg så ud af hvad fejlen er?
e.GetEtEllerAndet?

Kommentar
Fra : stk


Dato : 22-11-01 14:04

try
{
db.GetViewFolder("People", &vf);
}
catch(ExceptionType e)
{
Debug("Caught an exception\n");
}

giver følgende fejl:
F:\eAdmlot\user.cpp(785) : error C2061: syntax error : identifier 'ExceptionType'
F:\eAdmlot\user.cpp(785) : error C2310: catch handlers must specify one type
F:\eAdmlot\user.cpp(789) : error C2317: 'try' block starting on line '782' has no catch handlers


Kommentar
Fra : PARKENSS


Dato : 22-11-01 14:12

Noget ligende sådan her

try
{
x=x+1;
if(x<10)
cout<<x;
else{
catch (ExceptionType e){
cout<<"dit tal er over 10";
}
}
}

Parkenss

Kommentar
Fra : stk


Dato : 22-11-01 14:21

Mangler jeg en includefile og/eller at definere min funktion med throws et-eller-andet?

Kommentar
Fra : Nyhedsbruger


Dato : 22-11-01 14:26


"stk" <stk.news@kandu.dk> wrote in message
news:fb6L7.309$TN1.13929@news000.worldonline.dk...

>
> 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?

Alle standard exceptions arver fra "std::exception", men en exception
behøver ikke at arve fra "std::exception".
Ved at skrive "catch(...)" fanges alle exceptions

catch(const std::exception& x) {
std::cerr << x.what();
}
catch(...) {
std::cerr << "Unknown exception type";
}

Se iøvrigt
http://www.research.att.com/~bs/3rd_safe.pdf
for en beskrivelse af "Standard-Library Exception Safety"

og

Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions
Herb Sutter
ISBN: 0-201-61562-2

og snart
More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and
Solutions
Herb Sutter
ISBN: 0-201-70434-X

for en masse information om exceptions (plus meget mere)

Venlig hilsen

Mogens Hansen



Kommentar
Fra : PARKENSS


Dato : 04-12-01 00:58

Hej

Hvor langt er du nået i dette ??
Mvh
Parkenss

Kommentar
Fra : stk


Dato : 05-12-01 13:40

Hej Parkness

Jeg har fået det til at virke, tak.
Det var dog ikke vha exceptions. Ligegyldigt hvad jeg gjorde, fik jeg ikke noget ud af mine catch statements. Det viste sig at være overflow i et array (jeg er VB spasser og er vant til, at systemet beskytter mig mod mig selv (-: )

Men I skal allesammen have tak for hjæes hjælp.

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste