Как программист, вы наверняка знаете ошибку переполнения стека из-за очевидной рекурсии. Но, конечно, есть много странных и необычных способов заставить ваш любимый язык выплюнуть эту ошибку.
Цели:
- Должно вызывать переполнение стека, которое хорошо видно на выходе ошибки.
- Не допускается использование явной рекурсии.
Примеры неверных программ:
// Invalid, direct obvious recursion.
methodA(){ methodA(); }
// Invalid, indirect, but obvious recursion.
methodA(){ methodB(); }
methodB(){ methodA(); }
Самые креативные способы являются лучшими, так как это конкурс популярности . Т.е., избегайте скучных очевидных ответов, подобных этому:
throw new StackOverflowError(); // Valid, but very boring and downvote-deserving.
Несмотря на то, что я принял ответ сейчас, добавление дополнительных ответов все еще хорошо :)