Не могу отловить исключение

council_estate

Новичок
Пользователь
Апр 20, 2020
3
0
1
Здравствуйте! Иначе как в тему для начинающих писать не вижу смысла, потому что проблема мелочная. Есть у меня окно с полем ввода, описанное с помощью tkinter. В окно нужно ввести ключ длиной 8 символов и нажать кнопку для сохранения ключа в нужную переменную. Нажатие кнопки вызывает функцию save. Если длина не равна 8 символам, то появляется исключение "raise ValueError("Incorrect DES key length (%d bytes)" % len(key))". try {участок кода с присвоением} except ValueError: {messagebox} не помогает. Что можно сделать?

Код:

Python:
    def save():
        try:
            key.set(keyset.get())
            name.set(nick.get())
        except ValueError:
            mb.showinfo()
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Может не вызывать исключение, а просто проверять длину и не сохранять если она не равна 8:
Python:
def save():
    if len(keyset.get()) != 8:
        mb.showinfo()
    else:
        key.set(keyset.get())
        name.set(nick.get())
 

council_estate

Новичок
Пользователь
Апр 20, 2020
3
0
1
Может не вызывать исключение, а просто проверять длину и не сохранять если она не равна 8:

Вот спасибо, друг, получилось! Сам никак не додумался, сидел и тупил, потому что упёрся в сам факт исключения, а не в то, что его можно не допускать простым ограничением.
 

Форум IT Специалистов