continue = True
while continue:
try:
userInput = int(input("Please enter an integer: "))
except ValueError:
print("Sorry, wrong value.")
else:
continue = False
Для кода выше, как я могу поймать конкретный ValueError
? Я имею в виду, что если пользователь вводит нецелое число, я бы распечатал "Sorry, that is not an integer."
. Но если пользовательский ввод является пустым, я бы распечатал "Empty Input."
.Специфические Попробуйте и за исключением
Я удивлен, что это лучший способ сделайте это, как что-то вроде «KeyError», вы можете получить то, что вызвало его с помощью '' e.args' '(http://stackoverflow.com/questions/23139024/how-do-i-find-out-what- key-failed-in-python-keyerror/23139085 # 23139085), но это просто возвращает сообщение для этого. Странный. –
Вы можете получить входное значение из сообщения, содержащегося в 'e.args', но это будет более активно, чем мое решение. Я целенаправленно сохранял код простым, чтобы не превышать уровень опыта OP. – iCodez
Я, вероятно, сделаю это таким образом, несмотря на то, что иначе он был бы слишком длинным. Тем не менее, я удивлен тем, что аргументы, переданные в «BaseException», не могут быть доступны одинаково. –