Wiem, że print(e)(gdzie e jest wyjątkiem) drukuje występujący wyjątek, ale próbowałem znaleźć odpowiednik języka Java w języku Python, e.printStackTrace()który dokładnie śledzi wyjątek od tego, w jakiej linii wystąpił, i drukuje cały jego ślad. Czy ktoś mógłby mi powiedzieć odpowiednik e.printStackTrace()Pythona?
Chcę mieć sposób na zgłoszenie śladu stosu użytkownikowi, jeśli zostanie zgłoszony wyjątek. Jak najlepiej to zrobić? Czy to wymaga dużej ilości dodatkowego kodu? Aby odpowiedzieć na pytania: Chciałbym, żeby to było przenośne, jeśli to możliwe. Chcę, aby pojawiły się informacje, aby użytkownik mógł skopiować ślad stosu i wysłać mi wiadomość …
Kiedy dostaję wyjątki, często dzieje się to z głębi stosu wywołań. Kiedy tak się dzieje, częściej niż nie, faktyczny wiersz kodu jest dla mnie ukryty: tmp.rb:7:in `t': undefined method `bar' for nil:NilClass (NoMethodError) from tmp.rb:10:in `s' from tmp.rb:13:in `r' from tmp.rb:16:in `q' from tmp.rb:19:in `p' from tmp.rb:22:in `o' from tmp.rb:25:in …
Myślę o stworzeniu narzędzia do debugowania dla mojej aplikacji Java. Zastanawiam się, czy można uzyskać ślad stosu, tak jak Exception.printStackTrace() ale bez rzucania wyjątku? Moim celem jest zrzucenie stosu w dowolnej metodzie, aby zobaczyć, kto jest obiektem wywołującym metodę.
Biorąc pod uwagę ten fragment śledzenia stosu Przyczyna: java.net.SocketException: oprogramowanie spowodowało przerwanie połączenia: błąd zapisu gniazda w java.net.SocketOutputStream.socketWrite0 (metoda macierzysta) Próbowałem odpowiedzieć na następujące pytania: Jaki kod zgłasza ten wyjątek? (JVM? / Tomcat? / Mój kod?) Co powoduje zgłoszenie tego wyjątku? Odnośnie nr 1: Źródło JVM firmy Sun nie zawiera …
Powiedzmy, że wychwytujesz wyjątek i otrzymujesz następujące informacje na standardowym wyjściu (takim jak, powiedzmy, konsola), jeśli wykonujesz e.printStackTrace () : java.io.FileNotFoundException: so.txt at java.io.FileInputStream.<init>(FileInputStream.java) at ExTest.readMyFile(ExTest.java:19) at ExTest.main(ExTest.java:7) Teraz chcę wysłać to zamiast tego do rejestratora, takiego jak, powiedzmy, log4j, aby uzyskać następujące informacje: 31947 [AWT-EventQueue-0] ERROR Java.io.FileNotFoundException: so.txt 32204 …
W Javascript załóżmy, że chcę wykonać pewne porządki, gdy wystąpi wyjątek, ale pozwól, aby wyjątek nadal propagował stos, np: try { enterAwesomeMode(); doRiskyStuff(); // might throw an exception } catch (e) { leaveAwesomeMode(); throw e; } doMoreStuff(); leaveAwesomeMode(); Problem z tym kodem polega na tym, że przechwycenie i ponowne zgłoszenie …
Próbowałem zbadać błąd kompilacji projektu w danych wyjściowych konsoli w następujący sposób: :myapp:processDebugResources FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:processDebugResources'. ... ... * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get …
Czy istnieje sposób wyświetlania wierszy w śladzie stosu dla kompilacji / wdrożenia zestawu .NET w trybie wydania? AKTUALIZACJA: Moja aplikacja jest podzielona na trzy projekty bibliotek klas i jeden projekt „strony internetowej” ASP.NET. Błąd, który próbuję wyśledzić, występuje w jednym z trzech projektów bibliotek klas. Wdrożyłem plik pdb tylko dla …
Chcę rejestrować bieżący ślad śledzenia (stacktrace) w aplikacji Rails 3 bez wystąpienia wyjątku. Każdy pomysł jak? Dlaczego tego chcę? Próbuję prześledzić wywołania, które są wykonywane, gdy Railsy szukają szablonu, aby móc wybrać część procesu do przesłonięcia (ponieważ chcę zmienić ścieżkę widoku dla określonego mojego kontrolera podklasy). Chciałbym wywołać ją z …
Jest wiele z materiału out there co sugeruje, że druk ślad stosu wyjątku jest złą praktyką. Np. Z sprawdzenia RegexpSingleline w Checkstyle: Tego sprawdzenia można [...] użyć do znalezienia typowych złych praktyk, takich jak wywoływanie ex.printStacktrace () Jednak staram się znaleźć gdziekolwiek, co daje ważny powód, dla którego z pewnością …
W systemie Android (Java) jak wydrukować pełny ślad stosu? Jeśli moja aplikacja ulegnie awarii z powodu nullPointerException lub czegoś podobnego, wydrukuje (prawie) pełny ślad stosu, jak poniżej: java.io.IOException: Attempted read from closed stream. com.android.music.sync.common.SoftSyncException: java.io.IOException: Attempted read from closed stream. at com.android.music.sync.google.MusicSyncAdapter.getChangesFromServerAsDom(MusicSyncAdapter.java:545) at com.android.music.sync.google.MusicSyncAdapter.fetchDataFromServer(MusicSyncAdapter.java:488) at com.android.music.sync.common.AbstractSyncAdapter.download(AbstractSyncAdapter.java:417) at com.android.music.sync.common.AbstractSyncAdapter.innerPerformSync(AbstractSyncAdapter.java:313) at com.android.music.sync.common.AbstractSyncAdapter.onPerformLoggedSync(AbstractSyncAdapter.java:243) …
console.trace()wyświetla wynik na konsoli. Chcę otrzymać wyniki jako ciąg znaków i zapisać je do pliku. Nie definiuję nazw funkcji i nie mogę też uzyskać ich nazw callee.caller.name.
Na przykład w jednym miejscu ... //---------------a try { // some network call } catch(WebException we) { throw new MyCustomException("some message ....", we); } ... iw innym miejscu ... //--------------b try { // invoke code above } catch(MyCustomException we) { Debug.Writeline(we.stacktrace); // <---------------- } Drukuję ślad stosu, zaczyna się tylko …
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.