-
Data: 2010-09-16 22:40:20
Temat: Re: Zagwozdka - wyjątek w konstruktorze?
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 16.09.2010 09:19, klops pisze:
>
> Wracając do tematu, zastanów się nad tym (może bozia pozwoli dostrzec
> problem o którym wzmiankowałem...):
[...]
> Foo()
> {
> b = new Bar();
> cout <<"Foo"<<endl;
> throw 1;
[...]
> Dla podpowiedzi: b wyciekło...
To nie ma nic (poza lokalizacją) wspólnego z konstruktorem - błąd leży w
braku zwalniania zasobów przy opuszczaniu zakresu. Tu masz to samo a kod
jest rodem z C.
{
char *buf=malloc(100);
//...
if(cond)
return -1;
//...
free(buf);
return 0;
}
Standardowym podejściem w sytuacji gdy używamy "gołych" wskaźników i
wyjątków w jednym miejscu (nie tylko w konstruktorze) jest taki zapis:
Foo():b(0)
{
try
{
cout <<"Foo"<<endl;
//...
b=new Bar();
//...
throw 1;
//...
}
catch(...)
{
if(b)
delete b;
throw;
}
}
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 16.09.10 15:46 klops
- 17.09.10 06:49 Bronek Kozicki
- 17.09.10 11:00 Michoo
- 17.09.10 11:47 Wojciech \"Spook\" Sura
- 16.09.10 22:00 klops
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-06 PROGRAM DOPŁAT DO AUT ELEKTRYCZNYCH TO ABSURD. ZA ŚRODKI Z KPO KUPIMY NIEMIECKIE I CHIŃSKIE AUTA
- 2025-02-05 ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-07 Smar do video
- 2025-02-06 Litowe baterie AA Li/FeS2 a alkaliczne
- 2025-02-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-07 Warszawa => System Architect (Java background) <=
- 2025-02-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-07 Warszawa => Solution Architect (Java background) <=
- 2025-02-07 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-07 Lublin => Programista Delphi <=
- 2025-02-07 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-07 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-07 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo