-
Data: 2010-09-15 17:39:18
Temat: Zagwozdka - wyjątek w konstruktorze?
Od: "Wojciech \"Spook\" Sura" <spook"mad@hatter"op.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Witam!
Zaprojektowałem kilka klas, które będą przechowywały dane liczbowe różnych
typów (liczba całkowita, zmiennoprzecinkowa, macierz itp.) Jedną z nich
jest ułamek zwykły, któremu w konstruktorze przekazywany jest licznik i
mianownik. I tu rodzi się problem:
CIntFraction::CIntFraction(int Anumerator, int Adenominator)
{
if (Adenominator == 0)
// I co teraz?...
}
Mogę oczywiście rzucić wyjątkiem, ale - z tego, co wiem - rzucanie
wyjątkami w konstruktorze jest nieszczególnie radosnym pomysłem. Mogę też
zaakceptować licznik i mianownik w takiej postaci, w jakiej je dostanę, a
wyjątkiem rzucić dopiero podczas próby dobrania się do wartości ułamka,
ale przez jakiś czas będzie on wisieć w pamięci z nieprawidłowymi danymi,
co również mi się nie podoba.
Jak wybrnąć z tej sytuacji?
Pozdrawiam -- Spook.
--
! ._______. Warning: Lucida Console sig! //) !
! || spk || www.spook.freshsite.pl / _ """*!
! ||_____|| spook at op.pl / ' | ""!
! | ___ | tlen: spoko_ws gg:1290136 /. __/"\ '!
! |_|[]_|_| May the SOURCE be with you! \/) \ !
Następne wpisy z tego wątku
- 15.09.10 18:53 Sebastian Biały
- 15.09.10 19:06 Bronek Kozicki
- 15.09.10 20:28 Tomasz Sowa
- 16.09.10 08:07 Wojciech \"Spook\" Sura
- 16.09.10 11:28 badzio
- 16.09.10 12:22 Marcin 'Qrczak' Kowalczyk
- 15.09.10 23:10 klops
- 16.09.10 16:24 Michoo
- 16.09.10 18:51 Bronek Kozicki
- 16.09.10 07:19 klops
- 16.09.10 22:40 Michoo
- 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
Najnowsze wątki z tej grupy
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- 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
Najnowsze wątki
- 2025-03-20 Warszawa => Senior Programmer C <=
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-20 Greenpeace została zobowiązana do zapłaty niemal 667 mln dolarów [USA,wyrok sądu]
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-19 Brak ograniczeń dla chińskiego kapitału - wam nie do rządu, tylko na zmywak do chińskiej knajpy!!!
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 szal-Unia == federacja policyjna
- 2025-03-19 Polsza == państwo policyjne
- 2025-03-19 Grzegorz Płaczek o programie szczepień dzieci. ,,Stworzono eldorado dla firm farmaceutycznych"
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 Gemini
- 2025-03-19 Mokry sen Zenka :)
- 2025-03-19 Re: Dlaczego tak odstają od Tesli?
- 2025-03-19 Czy grupa p.s.prawo przetrwa najbliższe wybory (prezydenta)?
- 2025-03-19 Warszawa => Frontend Developer (obszar Angular13+) <=