С прописыванием выхода, Пыщ. А раз у него на рекурсии виснет все намертво
Как чтение дерева повиснет, если оно не бесконечное? Все равно у какого-то узла не будет дочерних в итоге, если даже условие для пустого узла не прописать, оно не зависнет, а ошибку кинет, потому что будет пытаться обработать пустоту. А если, наоборот, построение дерева, например, из таблицы, то если таблица косячная и там зацикливание (ну типа родитель выставлен потомком, а потомок его же родителем), то ты его нихрена не отловишь все равно, рекурсия только один шаг видит же. Все равно решается только правкой таблицы. Я с утра не выспался, пардон.