Pytania otagowane jako exception-handling

Wyjątkiem są nietypowe warunki, które wymagają odchylenia od normalnego przepływu programu. Zwykle wyjątek nie powinien skutkować całkowitą awarią, lecz powinien być obsługiwany przez procedurę obsługi wyjątku. Obsługa wyjątków jest wbudowaną konstrukcją w wielu językach programowania. Zwykle wyjątki są obsługiwane przez odwijanie stosu, a tym samym przywracanie do określonego stanu poza zakresem wyjątku, a następnie wywoływanie bloku lub procedury obsługi.

8
Lepiej „spróbować” czegoś i wyłapać wyjątek lub sprawdzić, czy można najpierw uniknąć wyjątku?
Czy powinienem przetestować, czy ifcoś jest prawidłowe, czy po prostu tryto zrobić i wyłapać wyjątek? Czy istnieje solidna dokumentacja mówiąca, że ​​jeden sposób jest preferowany? Czy jest jeden sposób bardziej pytoniczny ? Na przykład, czy powinienem: if len(my_list) >= 4: x = my_list[3] else: x = 'NO_ABC' Lub: try: x …



5
Jak zapisać wartości traceback / sys.exc_info () w zmiennej?
Chcę zapisać nazwę błędu i szczegóły śledzenia w zmiennej. Oto moja próba. import sys try: try: print x except Exception, ex: raise NameError except Exception, er: print "0", sys.exc_info()[0] print "1", sys.exc_info()[1] print "2", sys.exc_info()[2] Wynik: 0 <type 'exceptions.NameError'> 1 2 <traceback object at 0xbd5fc8> Pożądane wyjście: 0 NameError 1 …

2
Dlaczego UnhandledExceptionEventArgs.ExceptionObject jest obiektem, a nie wyjątkiem?
Dlaczego jest UnhandledExceptionEventArgs.ExceptionObjectprzedmiotem, a nie Exception? Przywiązuję się do AppDomain.UnhandledException. Chciałbym oddanych UnhandledExceptionEventArgs.ExceptionObjectdo Exceptioni interogate go. Mając to na uwadze, czy kiedykolwiek będzie to zerowe? Dokumentacja MSDN nie jest specjalnie przydatna. Pobiera nieobsługiwany obiekt wyjątku.

6
Czy „w końcu” zawsze jest wykonywane w Pythonie?
Czy dla każdego możliwego bloku try-Final w Pythonie jest zagwarantowane, że finallyblok będzie zawsze wykonywany? Na przykład, powiedzmy, że wracam będąc w exceptbloku: try: 1/0 except ZeroDivisionError: return finally: print("Does this code run?") A może przebijam ponownie Exception: try: 1/0 except ZeroDivisionError: raise finally: print("What about this code?") Testy pokazują, …

10
Obsługa wyjątków Spring Resttemplate
Poniżej znajduje się fragment kodu; zasadniczo próbuję propagować wyjątek, gdy kod błędu jest inny niż 200. ResponseEntity<Object> response = restTemplate.exchange(url.toString().replace("{version}", version), HttpMethod.POST, entity, Object.class); if(response.getStatusCode().value()!= 200){ logger.debug("Encountered Error while Calling API"); throw new ApplicationException(); } Jednak w przypadku odpowiedzi 500 z serwera otrzymuję wyjątek org.springframework.web.client.HttpServerErrorException: 500 Internal Server Error at …







12
Program Visual Studio 2015 przerwa w przypadku nieobsługiwanych wyjątków, które nie działają
W programie Visual Studio było kiedyś określone pole wyboru „Przerwij w przypadku nieobsługiwanego wyjątku”. W 2015 roku został on usunięty (lub przeniesiony w miejsce, w którym nie mogę go znaleźć). Więc teraz moje przekonwertowane projekty nie psują się, jeśli nie uda mi się zapewnić obsługi wyjątków na poziomie użytkownika. Nie …

7
Musisz obsłużyć nieprzechwycony wyjątek i wysłać plik dziennika
AKTUALIZACJA: zobacz „zaakceptowane” rozwiązanie poniżej Gdy moja aplikacja tworzy nieobsługiwany wyjątek, zamiast po prostu zakończyć działanie, chciałbym najpierw dać użytkownikowi możliwość wysłania pliku dziennika. Zdaję sobie sprawę, że robienie więcej pracy po uzyskaniu losowego wyjątku jest ryzykowne, ale hej, najgorsze jest to, że aplikacja kończy się zawieszać, a plik dziennika …

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.