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.

12
Czy używanie IDisposable i „używanie” jako sposobu uzyskania „określonego zachowania” w celu zapewnienia bezpieczeństwa wyjątków jest nadużyciem?
Coś, czego często używałem w C ++, polegało na tym, że klasa Aobsługiwała stan wejścia i wyjścia dla innej klasy B, za pośrednictwem Akonstruktora i destruktora, aby upewnić się, że jeśli coś w tym zakresie wyrzuci wyjątek, to B będzie miał znany stan, gdy zakres został zamknięty. Nie jest to …

5
Dlaczego nie mamy odrzucać tych wyjątków?
Natknąłem się na tę stronę MSDN, która stwierdza: Nie należy celowo zgłaszać wyjątków , wyjątków SystemException , NullReferenceException ani IndexOutOfRangeException z własnego kodu źródłowego. Niestety nie zawraca sobie głowy wyjaśnieniem, dlaczego. Mogę odgadnąć powody, ale mam nadzieję, że ktoś bardziej autorytatywny w tej sprawie może udzielić ich wglądu. Pierwsze dwa …

5
Uzyskaj informacje o śledzeniu z obiektu wyjątku
Biorąc pod uwagę obiekt Exception (nieznanego pochodzenia), czy istnieje sposób na uzyskanie jego śledzenia? Mam taki kod: def stuff(): try: ..... return useful except Exception as e: return e result = stuff() if isinstance(result, Exception): result.traceback <-- How? Jak mogę wyodrębnić dane śledzenia z obiektu Exception, gdy już je mam?


3
Dlaczego writeObject zgłasza wyjątek java.io.NotSerializableException i jak to naprawić?
Mam ten wyjątek i nie rozumiem, dlaczego miałbym go wyrzucić ani jak mam sobie z tym poradzić. try { os.writeObject(element); } catch (IOException e) { e.printStackTrace(); } Gdzie elementjest TransformGroupzawierający inną TransformGroupsinstancję klasy Atom: public class Atom extends Group implements Serializable{ float pozX,pozY; Group group= new Group(); Color3f blue = …







4
Jak poprawnie uzyskać komunikat o wyjątku w Pythonie
Jaki jest najlepszy sposób uzyskiwania komunikatów o wyjątkach ze składników biblioteki standardowej w Pythonie? Zauważyłem, że w niektórych przypadkach można to uzyskać za pośrednictwem messagetakiego pola: try: pass except Exception as ex: print(ex.message) ale w niektórych przypadkach (na przykład w przypadku błędów gniazda) musisz zrobić coś takiego: try: pass except …




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.