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.



3
Decyzja o niezaznaczonych wyjątkach w Scali
Jako programista Java zawsze byłem krytyczny wobec niesprawdzonych wyjątków. Głównie programiści używają go jako drogi do łatwości kodowania, aby później stworzyć problemy. Również programy (choć nieporządne) z zaznaczonymi wyjątkami są znacznie solidniejsze w porównaniu do niesprawdzonych odpowiedników. Co zaskakujące, w Scali nie ma nic zwanego sprawdzonymi wyjątkami. Wszystkie Java zaznaczone …

2
Super typ wyjątku abstrakcyjnego
Jeśli rzucanie System.Exceptionjest uważane za tak złe, dlaczego nie zostało Exceptionwykonaneabstract ? W ten sposób nie będzie możliwe wywołanie: throw new Exception("Error occurred."); Wymusiłoby to użycie wyjątków pochodnych, aby podać więcej szczegółów na temat błędu, który wystąpił. Na przykład, gdy chcę podać niestandardową hierarchię wyjątków dla biblioteki, zwykle deklaruję abstrakcyjną …



6
alternatywy dla zagnieżdżonych prób połowu w przypadku awarii
Mam sytuację, w której próbuję odzyskać obiekt. Jeśli wyszukiwanie nie powiedzie się, mam kilka awarii, z których każda może się nie powieść. Kod wygląda więc tak: try { return repository.getElement(x); } catch (NotFoundException e) { try { return repository.getSimilarElement(x); } catch (NotFoundException e1) { try { return repository.getParentElement(x); } catch …

5
Obsługa wyjątków w programie, który musi działać 24/7
Czytałem, że powinniśmy wychwytywać tylko wyjątki, które można obsłużyć, co sprawia, że ​​łapanie podstawowej klasy wyjątków (w tym przypadku C #) jest złym pomysłem (oprócz innych powodów). Obecnie jestem częścią projektu, w którym do tej pory nie widziałem niczego poza wychwyceniem podstawowego wyjątku. Wspomniałem, że uważa się to za złą …

3
Polecam wzorzec projektowy / podejście do ujawniania / tolerowania / odzyskiwania po błędach systemowych, obsługę wyjątków (np. W Javie, C ++, Perlu, PHP)
Czy możesz polecić wzorzec / podejście projektowe do ujawniania / tolerowania / odzyskiwania po błędach systemowych, obsługi wyjątków (Java, C ++, Perl, PHP)? Niektóre błędy muszą zostać zgłoszone. Niektóre błędy mogą być obsługiwane wewnętrznie (przez ponowienie lub są nieistotne (można je zignorować). Jak ustrukturyzować kod, aby je złapać? Ale wszystkie …


5
Wzmocnienie kodu z możliwie bezużyteczną obsługą wyjątków
Czy dobrą praktyką jest wdrażanie bezużytecznej obsługi wyjątków, na wypadek, gdyby inna część kodu nie została poprawnie zakodowana? Podstawowy przykład Prosty, więc nie tracę wszystkich :). Powiedzmy, że piszę aplikację, która wyświetli informacje o osobie (imię i nazwisko, adres itp.), Dane zostaną wyodrębnione z bazy danych. Powiedzmy, że to ja …

1
Najlepsze praktyki postępowania z zaleceniami lub zalecenia? [Zamknięte]
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 5 lat temu . Myślę, że dwa główne problemy z moimi programami to struktura / organizacja kodu i obsługa błędów. Czytam Code Complete …


8
Jakie są dobre sposoby równoważenia wyjątków informacyjnych i czystego kodu?
Dzięki naszemu publicznemu pakietowi SDK chcemy przekazywać bardzo pouczające informacje o przyczynach wyjątku. Na przykład: if (interfaceInstance == null) { string errMsg = string.Format( "Construction of Action Argument: {0}, via the empty constructor worked, but type: {1} could not be cast to type {2}.", ParameterInfo.Name, ParameterInfo.ParameterType, typeof(IParameter) ); throw new …

4
Celowe zgłaszanie wyjątków w połowach
Czy w typowym if...elsepakiecie z obsługą wyjątków coś w rodzaju poniższego przykładu jest zalecaną praktyką pozwalającą uniknąć powielania kodu? try { if (GetDataFromServer()) { return ProcessData(); } else { throw new Exception(); } catch(Exception ex) { return null; } zamiast... try { if (GetDataFromServer()) { return ProcessData(); } else { …

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.