Archiwa tagu: exceptions

Prostsze rzucanie wyjątków, gdy nie mamy obsłużonego Enuma

Chcemy rzucić wyjątkiem, gdy mamy przypadek nieobsłużony poprzez case’y. Na przykład gdy pojawiła się nowa wartość enuma Shape. Zalety dużo informacji do wyszukania w logach: dostajemy nazwę parametru, który sprawił problem dostajemy Typ, który wyszedł poza zakres dostajemy wartość, która … Czytaj dalej

Opublikowano Programowanie | Otagowano , , , , | 2 Komentarze

Jaki wyjątek rzucać gdy mamy nieobsłużonego enuma

Gdy sterujemy przepływem sterowania za pomocą switcha i tym co sprawdzamy jest enum to warto obsłużyć też przypadek default. Czyli co stanie się gdy enum ma wartość spoza tych wymienionych w case‚ach. Warto wtedy rzucić wyjątek. Taki kod wygeneruje nam … Czytaj dalej

Opublikowano Programowanie | Otagowano , , | 2 Komentarze

Rzucanie własnych wyjątków specyficznych dla aplikacji

Kiedyś przeczytałem o antypaternie jakim jest tworzenie nowego typu wyjątku, który jest per aktualny projekt, czyli np. GitHubException, ktory dziedziczy z System.Exception i nie dodaje własnych pól ani zachowania. Tworzymy go ponieważ wszystko co już jest nie pasuje nam, a … Czytaj dalej

Opublikowano Programowanie | Otagowano , , , | 1 komentarz

Code contracts

Requires W teorii są 3 rodzaje kontraktów. Podejdę wg mnie praktycznie i opowiem głównie o pierwszym (Requires), z pozostałych dwóch rzadko kto korzysta. Requires używa się do sprawdzania argumentów przekazanych do metody. Kod bez kontraktów: Kod z kontraktami: Z kontraktami … Czytaj dalej

Opublikowano Programowanie | Otagowano , , , | 1 komentarz

Use object initializer

Piotr Zieliński pisze ciekawy cykl „Dobre i złe praktyki w C#”, a ja dzisiaj chciałem się odnieść do części VI i opisać rzecz, której dotychczas nie byłem świadom. Inicjalizacja właściwości obiektu Kod oraz to wbrew pozorom nie to samo zapisane … Czytaj dalej

Opublikowano Uncategorized | Otagowano , | 7 Komentarzy

Książkowe podsumowanie ubiegłego roku c.d.

W poprzednim wpisie zapomniałem o jednej, jakże ważnej pozycji: Framework Design Guidelines 🙂 Podczas czytania tej książki zapisałem rekordową, jak dla mnie, liczbę kartek A4. Kilka rozdziałów było mi już dobrze znanych z MSDNowych artukułów (np Exceptions), ale dobrych artykółów … Czytaj dalej

Opublikowano Uncategorized | Otagowano ,

Jak zatrzymać się na nie przechwyconym wyjątku

W Debug->Exceptions->Common Language Runtime Exceptions (CTRL+ALT+E) można zaznaczyć, które wyjątki będą rzucane zawsze, a które czasem przechwyci Visual Studio. Poniżej opis sytuacji, w której nie wiedziałem dlaczego aplikacja nie wywali sie na oczywistym wyjątku. Jestem w WinForms, mam breakpointa na … Czytaj dalej

Opublikowano Uncategorized | Otagowano , , | 1 komentarz