Pytania otagowane jako exceptions

Wyjątkiem jest występowanie w procesie aplikacji, które wymaga odchylenia od normalnego przepływu programu.

9
Dlaczego wiele komunikatów o wyjątkach nie zawiera przydatnych informacji?
Wydaje się, że istnieje pewna zgoda co do tego, że komunikaty o wyjątkach powinny zawierać przydatne szczegóły . Dlaczego wiele typowych wyjątków od składników systemu nie zawiera użytecznych szczegółów? Kilka przykładów: NET Listdostęp wskaźnik ArgumentOutOfRangeExceptionnie nie mów mi, że wartość indeksu został osądzony i był nieprawidłowy, ani nie mów mi …
220 c#  c++  exceptions 

22
Czy zerowe referencje są naprawdę złe?
Słyszałem, że powiedzenie, że włączenie zerowych referencji w językach programowania jest „błędem miliarda dolarów”. Ale dlaczego? Jasne, mogą powodować wyjątki NullReference, ale co z tego? Każdy element języka może być źródłem błędów, jeśli zostanie użyty nieprawidłowo. A jaka jest alternatywa? Przypuszczam, że zamiast powiedzieć to: Customer c = Customer.GetByLastName("Goodman"); // …

9
Czy wyjątki jako kontrola są uważane za poważny antypattern? Jeśli tak, dlaczego?
W późnych latach 90-tych całkiem sporo pracowałem z bazą kodu, która używała wyjątków jako kontroli przepływu. Zaimplementowano maszynę skończoną do sterowania aplikacjami telefonii. Ostatnio przypominają mi się te dni, ponieważ tworzyłem aplikacje internetowe MVC. Oba mają Controllerdecydujące miejsce, w którym należy iść dalej, i dostarczają dane do logiki docelowej. Działania …

13
Wyjątek od pustego zestawu wyników, gdy dane wejściowe są technicznie prawidłowe, ale niezadowalające
Tworzę bibliotekę przeznaczoną do publicznego wydania. Zawiera różne metody działania na zestawach obiektów - generowanie, sprawdzanie, partycjonowanie i rzutowanie zbiorów na nowe formy. W razie IEnumerablepotrzeby jest to biblioteka klasy C # zawierająca włączone rozszerzenia w stylu LINQ , która ma zostać wydana jako pakiet NuGet. Niektóre metody w tej …

7
Jak napisać dobry komunikat wyjątku
Obecnie sprawdzam kod i jedną z rzeczy, które zauważam, jest liczba wyjątków, w których komunikat o wyjątku wydaje się powtarzać, gdzie wystąpił wyjątek. na przykład throw new Exception("BulletListControl: CreateChildControls failed."); Wszystkie trzy elementy w tej wiadomości mogę opracować na podstawie reszty wyjątku. Znam klasę i metodę ze śledzenia stosu i …
101 exceptions 

12
Powiedziano mi, że wyjątków należy używać tylko w wyjątkowych przypadkach. Skąd mam wiedzieć, czy moja sprawa jest wyjątkowa?
Moim szczególnym przypadkiem jest to, że użytkownik może przekazać ciąg znaków do aplikacji, aplikacja analizuje go i przypisuje do obiektów strukturalnych. Czasami użytkownik może wpisać coś nieprawidłowego. Na przykład ich wkład może opisywać osobę, ale może powiedzieć, że jej wiek to „jabłko”. Prawidłowe zachowanie w takim przypadku polega na wycofaniu …

9
Sprawdź obsługę pierwszej kontra wyjątku?
Pracuję nad książką „Head First Python” (to jest mój język do nauki w tym roku) i doszedłem do sekcji, w której dyskutują o dwóch technikach kodu: Sprawdzanie obsługi First vs. Exception. Oto przykład kodu Python: # Checking First for eachLine in open("../../data/sketch.txt"): if eachLine.find(":") != -1: (role, lineSpoken) = eachLine.split(":",1) …


8
Zwracać wartość magiczną, zgłaszać wyjątek lub zwracać wartość false w przypadku niepowodzenia?
Czasami czasami muszę napisać metodę lub właściwość dla biblioteki klas, dla której nie jest niczym wyjątkowym brak prawdziwej odpowiedzi, ale niepowodzenie. Coś nie może zostać określone, nie jest dostępne, nie znaleziono, nie jest obecnie możliwe lub nie ma już dostępnych danych. Myślę, że istnieją trzy możliwe rozwiązania dla tak stosunkowo …

10
Wyjątki, kody błędów i dyskryminowane związki
Niedawno rozpocząłem programowanie w języku C #, ale mam spore doświadczenie w Haskell. Ale rozumiem, że C # jest językiem zorientowanym obiektowo, nie chcę wciskać okrągłego kołka w kwadratowy otwór. Przeczytałem artykuł Microsoft dotyczący wyjątku Zgłaszanie wyjątków : NIE zwracaj kodów błędów. Ale przyzwyczajony do Haskell, używałem typu danych C …
80 c#  exceptions 


14
Dlaczego przepełnienie arytmetyczne jest ignorowane?
Czy kiedykolwiek próbowałeś zsumować wszystkie liczby od 1 do 2 000 000 w swoim ulubionym języku programowania? Wynik można łatwo obliczyć ręcznie: 2 000 001 000 000, czyli około 900 razy więcej niż maksymalna wartość 32-bitowej liczby całkowitej bez znaku. Drukuje się C # -1453759936- wartość ujemna! I chyba Java …


12
Posiadanie flagi wskazującej, czy powinniśmy zgłaszać błędy
Niedawno zacząłem pracować w miejscu z kilkoma znacznie starszymi programistami (około 50+). Pracowali nad krytycznymi aplikacjami dotyczącymi lotnictwa, w których system nie mógł ulec awarii. W rezultacie starszy programista ma tendencję do kodowania w ten sposób. Zwykle umieszcza w obiektach wartość logiczną, aby wskazać, czy wyjątek powinien zostać zgłoszony, czy …


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.