Почему кроме ValueError: trigger? - PullRequest
0 голосов
/ 10 февраля 2012

Я не могу понять, почему мое предложение кроме не срабатывает в следующих случаях:

while True:
    userlow = int(raw_input('num please'))
    userhigh = int(raw_input('num please'))
    loopmult = int(raw_input('enter a num please'))
    except ValueError:
        print 'ERROR: Integer only'
    if userlow < userhigh: break

Это фрагмент моего кода, и мне было интересно, почему не работает исключение ValueError.Ошибка, которую я получаю, является неверным синтаксисом, и появилась только после того, как я добавил это в свой код.Это не выдвигает на первый план, где моя проблема, но если бы вы могли помочь, это было бы хорошо.Я использую Python 2.7

Ответы [ 3 ]

3 голосов
/ 10 февраля 2012

используется как оператор try...except. У вас нет try:.

while True:
    try:
        userlow = int(raw_input('num please'))
       userhigh = int(raw_input('num please'))
       loopmult = int(raw_input('enter a num please'))
    except ValueError:
        print 'ERROR: Integer only'
    if userlow < userhigh: break

Подробнее об этом из документации .

3 голосов
/ 10 февраля 2012
while True:
    try:
        userlow = int(raw_input('num please'))
        userhigh = int(raw_input('num please'))
        loopmult = int(raw_input('enter a num please'))
        if userlow < userhigh: 
            break
    except ValueError:
        print 'ERROR: Integer only'

http://docs.python.org/tutorial/errors.html#handling-exceptions

0 голосов
/ 10 февраля 2012

"There is no try" :-) буквально в приведенном выше коде. Просто исправь это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...