Pytania otagowane jako exception-handling

Obsługa wyjątków to proces reagowania na wystąpienie anomalnych lub wyjątkowych warunków wymagających specjalnego przetwarzania - często zmieniającego normalny przebieg wykonywania programu.

8
Wyjątki: po co rzucać wcześnie? Po co łapać późno?
Istnieje wiele dobrze znanych najlepszych praktyk dotyczących obsługi wyjątków w izolacji. Wiem wystarczająco dobrze, co należy robić, a czego nie robić, ale sprawy komplikują się, jeśli chodzi o najlepsze praktyki lub wzorce w większych środowiskach. „Rzuć wcześnie, złap późno” - słyszałem wiele razy i nadal mnie to myli. Dlaczego powinienem …




3
Dlaczego specyfikacje wyjątków są złe?
Ponad 10 lat temu w szkole uczyli cię używania specyfikatorów wyjątków. Ponieważ moje doświadczenie jest jednym z nich, programiści Torvaldish C, którzy uparcie unikają C ++, chyba że są do tego zmuszeni, trafiam tylko do C ++ sporadycznie, a kiedy to robię, nadal używam specyfikatorów wyjątków, ponieważ tego się nauczono. …

6
Obejście dla sprawdzonych wyjątków Java
Bardzo doceniam nowe funkcje Java 8 dotyczące lambd i interfejsów metod domyślnych. Nadal jednak nudzą mnie sprawdzone wyjątki. Na przykład, jeśli chcę tylko wymienić wszystkie widoczne pola obiektu, chciałbym po prostu napisać: Arrays.asList(p.getClass().getFields()).forEach( f -> System.out.println(f.get(p)) ); Ponieważ jednak getmetoda może zgłosić sprawdzony wyjątek, co nie jest zgodne z Consumerumową …

8
Po co projektować nowoczesny język bez mechanizmu obsługi wyjątków?
Wiele współczesnych języków zapewnia bogate funkcje obsługi wyjątków , ale język programowania Swift firmy Apple nie zapewnia mechanizmu obsługi wyjątków . Pogrążony w wyjątkach, tak jak ja, mam problem z otuleniem się, co to znaczy. Swift ma asercje i oczywiście zwraca wartości; ale mam problem z wyobrażeniem sobie, w jaki …



4
Dlaczego w try-catch potrzebne są nawiasy?
W różnych językach (przynajmniej Java, myślisz również C #?) Możesz robić takie rzeczy if( condition ) singleStatement; while( condition ) singleStatement; for( var; condition; increment ) singleStatement; Więc kiedy mam tylko jedną instrukcję, nie muszę dodawać nowego zakresu { }. Dlaczego nie mogę tego zrobić za pomocą try-catch? try singleStatement; …

5
Jak radzić sobie ze sprawdzonymi wyjątkami, których nigdy nie można wyrzucić?
Przykład: foobar = new InputStreamReader(p.getInputStream(), "ISO-8859-1"); Ponieważ kodowanie jest zakodowane na stałe i poprawne, konstruktor nigdy nie zgłosi wyjątku UnsupportedEncodingException zadeklarowanego w specyfikacji (chyba że implementacja Java jest zepsuta, w którym to przypadku i tak się zgubiłem). W każdym razie Java zmusza mnie do zajęcia się tym wyjątkiem. Obecnie tak …


4
W końcu wrzuciliśmy wyjątek
Analizatory kodu statycznego, takie jak Fortify, „narzekają”, gdy wyjątek może zostać zgłoszony do finallybloku, mówiąc to Using a throw statement inside a finally block breaks the logical progression through the try-catch-finally. Zwykle się z tym zgadzam. Ale ostatnio natknąłem się na ten kod: SomeFileWriter writer = null; try { //init …


3
Czy warstwa usługi powinna wychwytywać wszystkie wyjątki dao i owijać je jako wyjątki usługi?
Mam trójwarstwową aplikację sieciową Spring: dao, serwis i kontrolery. Kontroler nigdy nie wywołuje bezpośrednio dao, robi to poprzez warstwę usługi. W tej chwili przez większość czasu, jeśli istnieje wyjątek dao (środowisko wykonawcze), który nie jest obsługiwany, zostanie przechwycony przez stronę JSP pokazującą komunikat o błędzie użytkownikowi końcowemu. Czy warstwa usługi …

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.