Я пишу оценочную программу для задания, в котором учащиеся реализуют алгоритмы рекурсивной сортировки. Это означает, что несколько учеников, вероятно, превратят неработающий код в переполнение стека. Я хотел бы как-то уловить переполнение стека, возникающее при вызове кода студентов, чтобы я мог вычесть их результаты и перейти к другим тестам. К сожалению, переполнение стека, похоже, не проходит стандартный путь других исключений - блоки try / catch, похоже, не помогают. Есть ли способ вернуть выполнение моему коду после переполнения стека? Я рассмотрел использование потоков, чтобы сделать это, но кажется, что я просто не смог использовать try / catch.