Как использовать блок «попробуй и кроме», который убивает скрипт после вызова другой функции? - PullRequest
1 голос
/ 08 ноября 2019

Я создаю графический интерфейс с tkinter, когда я нажимаю на кнопку Отправить, я запускаю функцию, в функции которой мне нужно проверить, что пользователь ввел число вместо строки. Для этого я использую следующий код:

try:
    Thickness = float(Thickness)/1000
except Exception:
    print('Please only enter an integer into the Thickness field')
    Error_Integer_Thickness()

Где «Толщина» - это имя переменной, которую я извлек из ввода GUI, а «Error_Integer_Thickness» - это созданная мной функция, которая отображает мою пользовательскую ошибку. window.

Я хочу, чтобы код остановился после того, как он обнаружил ошибку, но я не хочу использовать 'typeError', так как тогда пользователь не увидит мое окно ошибки. Выполнение этого кода вызовет мое окно с ошибкой, но из вывода я вижу, что код все еще пытается продолжить и завершается неудачно из-за попытки преобразования строки в число с плавающей точкой позже в коде.

Я пыталсяиспользуйте 'sys.exit (1)' в конце блока кода, но это предотвращает отображение моего окна ошибки. Кроме того, использование 'sys.exit' не идеально, потому что я хочу, чтобы графический интерфейс оставался открытым после закрытия окна ошибки.

У меня нет большого опыта в попытках и исключении блоков, поэтому любая помощь будет оценена.

1 Ответ

0 голосов
/ 08 ноября 2019

Это попытка, кроме блока внутри функции? Если это так, вы можете просто вернуться из функции после вызова Error_Integer_Thickness ().

...