Есть ли способ перехватить и обработать бесконечные рекурсивные функции, создающие окна Tkinter?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Есть ли способ перехватить и обработать бесконечные рекурсивные функции, создающие окна Tkinter?

Сообщение Anonymous »

У меня есть студент, который отправил такую ​​функцию:

Код: Выделить всё

def infinite_windows():
window = tkinter.Tk()
infinite_windows()
Я уже тестирую что-то внутри блока try-кроме. Мой код сообщает об ошибке RecursionError, но затем мой рабочий стол зависает в следующий раз, когда он запрашивает ввод пользователя, и мне приходится убить Python. Следующий код зависает, но только если включен вызов input():

Код: Выделить всё

import tkinter

def infinite_windows():
window = tkinter.Tk()
infinite_windows()

try:
infinite_windows()
except Exception as e:
print("caught the exception!")
print(e)

input("hi there") #hangs here
Можно ли как-нибудь справиться с этим поведением и продолжить работу Python, не удаляя вызов input()?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -create-tk
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»