[ mmix @ 04.05.2005. 14:00 ] @
Ok, mislim da je popriličan broj dobrih tema bio propušten zato što je imao "Advocacy" etiketu, pa je na kraju po prebacivanju u taj forum tema zamrla jer jednostavno nikog tamo to ne interesuje mnogo
Zato sam rešio da napravim mali eksperiment i da otvorim ovu kvazi-advocacy temo pošto su oba tabora zapravo .NET tabori i predstavljaju dve frakcije iste "religije" . Dakle, bez daljeg zadržavanja:

1. Da li je bolje bacati i hvatati Exception-e (iliti izuzetke) ili
2. Da li je bolje koristiti return value (iliti povratnu vrednost)?
3. Ako je ok oba, kad i kako koji primeniti?
4. Ako nijedan ne valja, zašto ne valjaju i šta činiti?
Činjenice: šta god vam padne na pamet, od upotrebljivosti preko čitljivosti i performansi do "video sam na ovom blogu"
VAŽNO: Ograničavamo se na .NET/CLR, i ako koristite reč "zato" ne stavljajte interpunkciju iza nego nastavite sa " što ....", ako se razumemo

Za vaše razmatranje prilažem blog od pripadnika prvog tabora. Ovaj sam izabrao pošto je većina ostalih poprilično ratoborna, a u ovom blogu su dati i neki konkretni primeri i razlozi:

Krzysztof Cwalina, samoprozvani "one more Microsoft blogger"
Krzysztof Cwalina: Design Guidelines Update: Exception Throwing

Nažalost pripadnici drugog tabora slabo pišu blogove kako mi se čini, više su forumski orijentisani .

U svakom slučaju, tema je otvorena pa izvolite, ako bude uspešna možda ćemo ponoviti sa nekom drugom tematikom....


[ havramm @ 04.05.2005. 20:44 ] @
Posle dovoljno (od recimo 2001...) vremena rada u .NET-u, skoro sam morao jedan posao da odradim u C-u uz koriscenje brojnih WinAPI funkcija i raznih HRESULT i slicnih stvari. Rezultat je bio da sam uvek kada bi mi dobro doslo da upotrebim try...catch...finally za oslobadjanje nekih resursa samo socno opsovao, proveravao vracene rezultate i jedva cekao da vise zavrsim sa tim.
Moji argumenti:
- Preglednost koda
- Jednostavnije odrzavanje (implicitno ukljuceno u prvo)
- Detaljnije informacije o tome zbog cega nesto nije uspelo (Mnogo je jasnije unutar exception-a imati konkretnu informaciju "to i to nije uspelo zbog toga i toga..." nego prvo prihvatiti vraceni kod (ispravan ili greske) i nakon toga vrsiti razna switch-ovanja da bi se dobila informacija o vracenom kodu...)

Malo sam "izasao" iz .NET/CLR ali cisto radi povlacenja paralele...