Używamy wyjątków, aby pozwolić konsumentowi kodu na nieoczekiwane zachowanie w użyteczny sposób. Zwykle wyjątki są oparte na scenariuszu „co się stało” - na przykład FileNotFound(nie mogliśmy znaleźć określonego pliku) lub ZeroDivisionError(nie byliśmy w stanie wykonać 1/0operacji). Co zrobić, jeśli istnieje możliwość określenia oczekiwanego zachowania konsumenta? Na przykład wyobraźmy sobie, że …
Określenie sufiksu wyjątku w klasach wyjątków wydaje mi się zapachem kodu (informacja redundantna - reszta nazwy oznacza stan błędu i dziedziczy po wyjątku). Wydaje się jednak, że wszyscy to robią i wydaje się to dobrą praktyką. Chcę zrozumieć, dlaczego jest to dobra praktyka. Widziałem już i czytałem pytanie, dlaczego wyjątki …
Widzę kilka postów, w których podkreślono znaczenie obsługi wyjątku w centralnej lokalizacji lub na granicy procesu jako dobrej praktyki zamiast zaśmiecania każdego bloku kodu wokół try / catch. Mocno wierzę, że większość z nas rozumie znaczenie tego, jednak widzę, że ludzie nadal kończą się anty-wzorcem catch-log-rethrow, głównie dlatego, że aby …
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, …
Robię testy jednostkowe. Próbuję przetestować jedną funkcję. Nazywam to z mojego komponentu testowego. Ale jeśli zdalna funkcja nie może obsłużyć wyjątku, mój komponent testujący również dostanie wyjątek, tak myślę. Czy powinienem się martwić o uzyskanie wyjątku w moim komponencie testera? Dzięki. EDYTOWAĆ: PS: Zgłoszenie błędu jest dobre, ale tylko w …
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 …
Nie tak dawno temu zacząłem używać Scali zamiast Javy. Częścią procesu „konwersji” między językami była dla mnie nauka używania Eithers zamiast (zaznaczonych) Exceptions. Kodowałem w ten sposób od jakiegoś czasu, ale ostatnio zacząłem się zastanawiać, czy to naprawdę lepszy sposób. Jedną z głównych korzyści Eitherjest przez Exceptionto lepsze wyniki; Exceptionmusi …
Wyjątkiem isocpp.org FAQ Zjednoczone Nie używaj rzutu, aby wskazać błąd kodowania podczas używania funkcji. Użyj aser lub innego mechanizmu, aby albo wysłać proces do debugera, albo zawiesić proces i zebrać zrzut awaryjny dla programisty do debugowania. Z drugiej strony standardowa biblioteka definiuje std :: logic_error i wszystkie jego pochodne, które …
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?
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 3 lata temu . Powiedzmy, że mam klasę MediaPlayer, która ma metody play () i stop (). …
Projektując moją pierwszą „poważną” bibliotekę C ++, zadaję sobie pytanie: Czy to dobry styl czerpać wyjątki std::exceptioni to jest potomstwo ?! Nawet po przeczytaniu Projektowanie klas wyjątków Jaka jest „duża liczba” wyjątków do wdrożenia w mojej bibliotece? Wciąż nie jestem pewien. Ponieważ, poza powszechną (ale może nie dobrą) praktyką, jako …
Tworzyłem aplikację przez kilka miesięcy i zdałem sobie sprawę, że pojawił się wzorzec: logger.error(ERROR_MSG); throw new Exception(ERROR_MSG); Lub podczas łapania: try { // ...block that can throw something } catch (Exception e) { logger.error(ERROR_MSG, e); throw new MyException(ERROR_MSG, e); } Tak więc, ilekroć rzucałem lub łapałem wyjątek, rejestrowałem go. W …
Cytat z MSDN na temat StackOverflowException : Wyjątek zgłaszany, gdy stos wykonania przepełnia się, ponieważ zawiera zbyt wiele zagnieżdżonych wywołań metod. Too manyjest tu dość niejasne. Skąd mam wiedzieć, kiedy za dużo to naprawdę za dużo? Tysiące wywołań funkcji? Miliony? Zakładam, że musi to być w jakiś sposób związane z …
Czy uważanie NotImplementedExceptionza kod, którego jeszcze nie napisałeś, jest uważane za złą praktykę ? Być może komentarze do zrobienia TODO będą uważane za bezpieczniejsze?
Jestem w trakcie refaktoryzacji dość dużej aplikacji internetowej. Jednym z głównych problemów jest niespójna obsługa błędów i staram się wymyślić rozsądną strategię. Stworzyłem niestandardową procedurę obsługi błędów za pośrednictwem modułu obsługi błędów set_error_handler, który zasadniczo zamienia błędy PHP w wyjątkach ErrorExceptions oraz niestandardową podstawową klasę wyjątków, która bezpośrednio dziedziczy po …
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.