Mam metodę, w której cała logika jest wykonywana w pętli foreach, która iteruje nad parametrem metody: public IEnumerable<TransformedNode> TransformNodes(IEnumerable<Node> nodes) { foreach(var node in nodes) { // yadda yadda yadda yield return transformedNode; } } W takim przypadku wysłanie pustej kolekcji skutkuje pustą kolekcją, ale zastanawiam się, czy to nierozsądne. …
W Kiedy używać C zamiast C ++, a C ++ ponad C? istnieje oświadczenie wrt. do rozmiaru kodu / wyjątków C ++: Odpowiedzi Jerry (między innymi): (...) trudniej jest tworzyć naprawdę małe pliki wykonywalne w C ++. W naprawdę małych systemach i tak rzadko piszesz dużo kodu, a dodatkowe (...) …
Wprowadzamy system i czasami otrzymujemy słynny wyjątek NullReferenceExceptionz komunikatem Object reference not set to an instance of an object. Jednak w metodzie, w której mamy prawie 20 obiektów, posiadanie dziennika, który mówi, że obiekt jest pusty, tak naprawdę w ogóle się nie przydaje. To tak, jakby powiedzieć, kiedy jesteś agentem …
Często, gdy piszę funkcje, chcę się upewnić, że dane wejściowe są prawidłowe, aby wykryć takie błędy jak najwcześniej (uważam, że są to tak zwane warunki wstępne). Kiedy warunek wstępny zawiedzie, zawsze rzucałem wyjątek. Ale zaczynam wątpić, czy jest to najlepsza praktyka, a jeśli nie, twierdzenia byłyby bardziej odpowiednie. Więc kiedy …
Po przeczytaniu wczoraj postu zdałem sobie sprawę, że niewiele wiem o pochodzeniu wyjątków. Czy to tylko koncepcja związana z OOP? Myślę, że tak, ale znowu są wyjątki od bazy danych.
Zastanawiam się, jakie są zalety Maybe monady nad wyjątkami? Wygląda na Maybeto, że jest to po prostu jawny (i zajmujący mało miejsca) sposób try..catchskładni. aktualizacja Pamiętaj, że celowo nie wspominam o Haskell.
Lubię podnosić NotImplementedErrormetodę, którą chcę wdrożyć, ale tam, gdzie jeszcze się nie udało. Mogę już mieć częściową implementację, ale dodaj ją, raise NotImplementedError()ponieważ jeszcze jej nie lubię. Z drugiej strony lubię też przestrzegać konwencji, ponieważ ułatwi to innym osobom utrzymanie mojego kodu, a konwencje mogą istnieć z dobrych powodów. Jednak …
Staram się przekonać mój zespół, aby zezwalał na stosowanie wyjątków w C ++ zamiast zwracania wartości bool isSuccessfullub wyliczenia z kodem błędu. Nie mogę jednak odeprzeć jego krytyki. Rozważ tę bibliotekę: class OpenFileException() : public std::runtime_error { } void B(); void C(); /** Does blah and blah. */ void B() …
Właśnie omówiłem wybór projektu po przejrzeniu kodu. Zastanawiam się, jakie są twoje opinie. Jest ta Preferencesklasa, która jest wiadrem dla par klucz-wartość. Wartości zerowe są legalne (to ważne). Oczekujemy, że niektóre wartości mogą jeszcze nie zostać zapisane i chcemy automatycznie obsługiwać te przypadki, inicjując je z predefiniowaną wartością domyślną na …
Problem: Od dłuższego czasu martwię się o exceptionsmechanizm, ponieważ uważam, że tak naprawdę nie rozwiązuje tego, co powinien. ROSZCZENIE: Na ten temat toczą się długie debaty i większość z nich ma trudności z porównywaniem exceptionsi zwracaniem kodu błędu. To zdecydowanie nie jest tutaj temat. Próbując zdefiniować błąd, zgodziłbym się z …
W ramach pisania iteratora znalazłem, że piszę następujący fragment kodu (obsługa usuwania błędów) public T next() { try { return next; } finally { next = fetcher.fetchNext(next); } } znajdowanie go jest nieco łatwiejsze do odczytania niż public T next() { T tmp = next; next = fetcher.fetchNext(next); return tmp; …
Jaka jest najlepsza praktyka, gdy w aplikacji komputerowej występują nieobsługiwane wyjątki? Myślałem o wyświetleniu użytkownikowi wiadomości, aby mógł skontaktować się z pomocą techniczną. Poleciłbym użytkownikowi ponowne uruchomienie aplikacji, ale nie wymuszanie jej. Podobne do omawianych tutaj: ux.stackexchange.com - Jaki jest najlepszy sposób radzenia sobie z nieoczekiwanymi błędami aplikacji? Projekt jest …
Kiedyś mi doradzono, że program C ++ powinien ostatecznie wyłapać wszystkie wyjątki. Podane wówczas uzasadnienie było zasadniczo takie, że programy, które zezwalają na wyjątki, pojawiają się poza main()wejściem w dziwny stan zombie. Powiedziano mi to kilka lat temu i z perspektywy czasu uważam, że zaobserwowane zjawisko było spowodowane długim generowaniem …
Używam wyjątków, aby wcześnie wychwytywać problemy. Na przykład: public int getAverageAge(Person p1, Person p2){ if(p1 == null || p2 == null) throw new IllegalArgumentException("One or more of input persons is null"). return (p1.getAge() + p2.getAge()) / 2; } Mój program nigdy nie powinien przejść nulltej funkcji. Nigdy tego nie zamierzam. …
To nadal zdumiewa mnie, że w dzisiejszych czasach, produkty które mają latach użytkowania na swoim koncie, zbudowany przez zespoły specjalistów, jeszcze do tej pory - nie zapewniają pomocne komunikaty o błędach dla użytkownika. W niektórych przypadkach dodanie tylko odrobiny dodatkowych informacji może zaoszczędzić użytkownikowi godzin kłopotów. Program, który generuje błąd, …
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.