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.
Piszę prosty, mały program do przesyłania MIDI przez sieć. Wiem, że program napotka problemy z transmisją i / lub inne wyjątkowe sytuacje, których nie będę w stanie przewidzieć. W przypadku obsługi wyjątków widzę dwa podejścia. Czy powinienem napisać program, aby: zawiedzie z hukiem, gdy coś pójdzie nie tak lub czy …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 5 lat temu . Jeśli mówimy o wyjątkach jako błędach, dlaczego po prostu nie nazwać go błędem, …
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 …
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ą …
Po drugie, zastanawiałem się, czy ktoś wiedział, jaka jest różnica między wyjątkami (w dziedzinie przepływu kontroli wyjątków) a wyjątkami (takimi jak używane w Javie). Ale czy mają one zasadniczo chronić system przed awarią poprzez zakończenie programu użytkownika?
W szczególności pytanie o domyślny konstruktor Biorąc pod uwagę, że konstruktor inicjuje wszystkie dane dla obiektu, jeśli utworzę klasę, której nie można użyć bez odpowiedniej inicjalizacji, czy nie jest tak, że domyślny konstruktor jest bezużyteczny? Rozważać: // A class for handling lines in a CSV file class CSV_Entry { private: …
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 …
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łą …
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 …
W kilku aplikacjach naszej firmy korzystamy z niestandardowego rejestratora. Jest dość solidny, choć w przyszłości możemy go zastąpić czymś takim jak NLog. Jednym z zadań rejestratora jest rejestrowanie wyjątków napotkanych w aplikacji. Jedną z moich obaw było to, że obsługa wyjątków w programie rejestrującym pozwala na cichą awarię. To znaczy, …
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 …
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 …
Jest to powiązane pytanie: Czy użycie klauzuli w końcu do wykonywania pracy po powrocie jest złe / niebezpieczne? W przywoływanym Q ostatecznie kod jest związany z zastosowaną strukturą i koniecznością pobierania z wyprzedzeniem. Moje pytanie jest trochę inne i uważam, że jest to istotne dla szerszej publiczności. Moim szczególnym przykładem …
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 …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.