Co to jest StackOverflowError, co go powoduje i jak sobie z nimi
NIE TA STRONA INTERNETOWA! Użyj tego tagu dla błędu spowodowanego przez wypchnięcie zbyt wielu elementów do stosu wywołań. Jeśli masz pytanie dotyczące tej witryny, przejdź do https://meta.stackoverflow.com
Co to jest StackOverflowError, co go powoduje i jak sobie z nimi
Spójrz na następujące dwie metody: public static void foo() { try { foo(); } finally { foo(); } } public static void bar() { bar(); } Uruchamianie bar()wyraźnie powoduje StackOverflowError, ale foo()nie działa (program wydaje się działać bez końca).
Mam następujący fragment kodu, który nie działa z następującym błędem: RuntimeError: przekroczona maksymalna głębokość rekurencji Próbowałem przepisać to, aby umożliwić optymalizację rekurencji ogona (TCO). Uważam, że ten kod powinien był się udać, gdyby miało miejsce TCO. def trisum(n,...
Zadałem to pytanie, aby dowiedzieć się, jak zwiększyć rozmiar stosu wywołań środowiska wykonawczego w JVM. Mam odpowiedź na to pytanie, a także wiele przydatnych odpowiedzi i komentarzy dotyczących tego, jak Java radzi sobie z sytuacją, w której potrzebny jest duży stos środowiska wykonawczego....
Oto mój przykładowy kod: #include <iostream> #include <string> using namespace std; class MyClass { string figName; public: MyClass(const string& s) { figName = s; } const string& getName() const { return figName; } }; ostream& operator<<(ostream&...
Mam rekurencyjne wywołanie metody, która zgłasza wyjątek przepełnienia stosu. Pierwsze wywołanie jest otoczone blokiem try catch, ale wyjątek nie jest przechwytywany. Czy wyjątek przepełnienia stosu zachowuje się w specjalny sposób? Czy mogę prawidłowo złapać / obsłużyć wyjątek? Nie wiem, czy to...
W przeglądarce Chrome pojawia się błąd „Uncaught RangeError: maksymalny rozmiar stosu wywołań przekroczony”. oto moja funkcja jQuery $('td').click(function () { if ($(this).context.id != null && $(this).context.id != '') { foo($('#docId').val(), $(this).attr('id')); } return false;...
Zastanawiałem się, co się stanie, gdy spróbujesz złapać StackOverflowError i wymyśliłem następującą metodę: class RandomNumberGenerator { static int cnt = 0; public static void main(String[] args) { try { main(args); } catch (StackOverflowError ignore) { System.out.println(cnt++); }...
Jestem zaskoczony, jak można kontynuować wykonywanie nawet po StackOverflowErrorwystąpieniu a w Javie. Wiem, że StackOverflowErrorjest to podklasa klasy Error. Klasa Error jest opisana jako „podklasa Throwable, która wskazuje na poważne problemy, których rozsądna aplikacja nie powinna próbować...
W jaki sposób dochodzi do przepełnienia stosu i jakie są najlepsze sposoby, aby temu zapobiec, lub sposoby, aby temu zapobiec, szczególnie na serwerach internetowych, ale inne przykłady również byłyby interesujące?
Co może spowodować java.lang.StackOverflowError? Wydruk stosu, który otrzymuję, nie jest wcale zbyt głęboki (tylko 5 metod).
Chciałbym wygenerować ciąg JSON z mojego obiektu: Gson gson = new Gson(); String json = gson.toJson(item); Za każdym razem, gdy próbuję to zrobić, pojawia się ten błąd: 14:46:40,236 ERROR [[BomItemToJSON]] Servlet.service() for servlet BomItemToJSON threw
Kiedy uruchamiam kod, Node.js zgłasza "RangeError: Maximum call stack size exceeded"wyjątek spowodowany zbyt dużą liczbą wywołań rekurencyjnych. Próbowałem zwiększyć rozmiar stosu Node.js o sudo node --stack-size=16000 app, ale Node.js ulega awarii bez żadnego komunikatu o błędzie. Gdy uruchomię...
Czy możemy znaleźć hashcodecoś, listco zawiera się jako element? Wiem, że to zła praktyka, ale o to pytał ankieter. Kiedy uruchomiłem następujący kod, generuje on StackOverflowError: public class Main { public static void main(String args[]) { ArrayList<ArrayList> a = new ArrayList();...