Thread: [C++]Exceptions
-
04-01-2009, 18:30 #16
Bedankt voor alle antwoorden al.
Twas gewoon verwarrend aangezien prof en assistent elkaar tegenspraken -.-"..
Maar ben der wel uit nu denk ik
Thanks a lot!*insert sig here*no votes
-
-
04-01-2009, 18:50 #17Member
- Registered
- 17/07/02
- Location
- Wilrijk
- Posts
- 1,994
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 9/16
Library voor intern gebruik, ja, verantwoordelijkheid wordt voor een deel ook geplaatst bij collega's die het gebruiken, trouwens soms is het returnen van null dan ook gewenstHoe ga je dan te werk?
De user geeft een null-klasse mee, return je dan null ?
bv bepaalde waarden van het object dat ge meegeeft?, als waarden zowiezo nodig zijn, dan staan die ook in de constructorEn als er bepaalde waarden niet zijn ingevuld, wat return je dan?
Welke info? call-stack info?En als alles is ingevuld, maar je berekening toch faalt, omdat het om een of andere reden niet uitrekenbaar is.
Dan zit je toch beperkt met je returnvalues? Je kan zeer moeilijk een onderscheid maken in al die situaties. Maar met excepties kan je veel meer informatie meegeven.
Soms volstaat een simpele return uit een functie
Soms volstaat een boolean
Soms wil je alle zaken weten die niet kloppen en dan loopt ge de functie af en returned ge op een deftige manier alle fouten die der instaan (geen cryptische nummerkes!)
en heel soms is een exception het beste
Je kan natuurlijk ook in elke functie een aantal exceptions voorzien en in elke call try catch blokken steken (dit was dus de vraag van de op), maar waar zijn we dan mee bezig, het beste is dat gewoon proberen te vermijden (dus ik praat hier nog altijd over internal libs)
Zoals ik al eerder vermelde, deftige exceptions gebruiken.Als je een 3th part lib schrijft, ...
Dus 3rd party bedoel ik stuff die ge effectief aan andere bedrijven verkooptno votes
-
05-01-2009, 17:54 #18Member
- Registered
- 08/11/03
- Location
- Antwerpen
- Posts
- 1,726
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 2/2
En als je null meegeeft als parameter aan de constructor? Of als het een static function moet zijn?
OK, ik ga ermee akkoord dat je ze moet vermijden als het mogelijk is. Maar als het niet mogelijk is, ga dan toch niet grijpen naar specifieke return values en neem een propere exception
. (zie killgore)
no votes

