Запитання з тегом «stack-overflow»

НЕ ЦЕЙ САЙТ! Використовуйте цей тег для помилки, спричиненої натисканням забагато елементів на телефонний стік. Якщо у вас є питання щодо цього веб-сайту, перейдіть на сторінку https://meta.stackoverflow.com


6
Спробуйте остаточно заблокувати запобігання StackOverflowError
Погляньте на наступні два методи: public static void foo() { try { foo(); } finally { foo(); } } public static void bar() { bar(); } Запуск bar()чітко призводить до StackOverflowError, але запуск foo()не робить (програма, здається, працює нескінченно). Чому так?

6
Чи оптимізує Python хвостові рекурсії?
У мене є такий фрагмент коду, який не вдається із наступною помилкою: RuntimeError: перевищена максимальна глибина рекурсії Я спробував це переписати, щоб дозволити оптимізацію хвостової рекурсії (TCO). Я вважаю, що цей код мав би бути успішним, якби відбувся ТСО. def trisum(n, csum): if n == 0: return csum else: return …

9
Як збільшити розмір стека Java?
Я задав це запитання, щоб дізнатися, як збільшити розмір стека виклику під час виконання в JVM. Я отримав відповідь на це, а також отримав багато корисних відповідей та коментарів, що стосуються того, як Java обробляє ситуацію, коли потрібен великий стек виконання. Я продовжив своє запитання підсумком відповідей. Спочатку я хотів …

2
Чому #include <string> запобігає помилці переповнення стека тут?
Це мій зразок коду: #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; class MyClass { string figName; public: MyClass(const string&amp; s) { figName = s; } const string&amp; getName() const { return figName; } }; ostream&amp; operator&lt;&lt;(ostream&amp; ausgabe, const MyClass&amp; f) { ausgabe &lt;&lt; f.getName(); return ausgabe; } int main() { …

9
Виключення виключення переповнення стека
У мене є рекурсивний виклик методу, який викидає виняток переповнення стека. Перший виклик оточений блоком спробу лову, але виняток не вловлюється. Чи поводиться виняток переповнення стека особливим чином? Чи можу я зловити / обробити виняток належним чином? Не впевнений у відповідності, але додаткова інформація: виняток не закидається в основну нитку …

6
Chrome / jQuery Uncaught RangeError: Максимальний розмір стека викликів перевищений
Я отримую помилку "Uncaught RangeError: Максимальний розмір стека викликів перевищено" на chrome. ось моя функція jQuery $('td').click(function () { if ($(this).context.id != null &amp;&amp; $(this).context.id != '') { foo($('#docId').val(), $(this).attr('id')); } return false; }); Зауважте, що на сторінці є десятки тисяч комірок. Однак я зазвичай асоціюю переповнення стека з рекурсією, …

7
Чому цей метод друкує 4?
Мені було цікаво, що станеться, коли ви намагаєтеся зловити StackOverflowError і придумали наступний метод: class RandomNumberGenerator { static int cnt = 0; public static void main(String[] args) { try { main(args); } catch (StackOverflowError ignore) { System.out.println(cnt++); } } } Тепер моє запитання: Чому цей метод друкує "4"? Я думав, …
111 java  jvm  stack-overflow 

5
Чому можливо відновити з StackOverflowError?
Я здивований тим, як можна продовжувати виконання навіть після того, як StackOverflowErrorу Java сталося. Я знаю, що StackOverflowErrorце підклас класу Помилка. Помилка класу розшифровується як "підклас Throwable, який вказує на серйозні проблеми, які розумне додаток не повинно намагатися наздогнати". Це звучить скоріше як рекомендація, ніж правило, підтверджуючи, що ловити помилку …


15
gson.toJson () викидає StackOverflowError
Я хотів би створити рядок JSON з мого об'єкта: Gson gson = new Gson(); String json = gson.toJson(item); Щоразу, коли я намагаюся зробити це, я отримую таку помилку: 14:46:40,236 ERROR [[BomItemToJSON]] Servlet.service() for servlet BomItemToJSON threw exception java.lang.StackOverflowError at com.google.gson.stream.JsonWriter.string(JsonWriter.java:473) at com.google.gson.stream.JsonWriter.writeDeferredName(JsonWriter.java:347) at com.google.gson.stream.JsonWriter.value(JsonWriter.java:440) at com.google.gson.internal.bind.TypeAdapters$7.write(TypeAdapters.java:235) at com.google.gson.internal.bind.TypeAdapters$7.write(TypeAdapters.java:220) at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68) …


10
Node.js - перевищено максимальний розмір стека викликів
Коли я запускаю свій код, Node.js видає "RangeError: Maximum call stack size exceeded"виняток, спричинений занадто великою кількістю рекурсивних викликів. Я намагався збільшити розмір стеку Node.js на sudo node --stack-size=16000 app, але Node.js аварійно завершує роботу без повідомлення про помилку. Коли я запускаю цей раз без Суду, то Node.js відбитків 'Segmentation …

3
Чому це твердження не викидає StackOverflowError?
Я щойно побачив цей дивний шматок коду в іншому питанні. Я думав, що це призведе до StackOverflowErrorкидання, але це не ... public class Node { private Object one; private Object two; public static Node NIL = new Node(Node.NIL, Node.NIL); public Node(Object one, Object two) { this.one = one; this.two = …

2
Чому рекурсивний виклик викликає StackOverflow на різній глибині стека?
Я намагався з'ясувати, як обробляються зворотні виклики компілятором C #. (Відповідь: це не так. Але 64-бітні JIT (і) будуть виконувати TCE (усунення хвостового виклику). Застосовуються обмеження .) Тому я написав невеликий тест, використовуючи рекурсивний виклик, який друкує, скільки разів його викликають до того, StackOverflowExceptionяк процес вбиває. class Program { static …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.