Современные Python исключения являются классами; используя raise 'incorrect'
, вы используете устаревшую языковую функцию, называемую строковыми исключениями. Раздел Ошибки и исключения в руководстве по Python будет хорошим началом для базовой обработки исключений в Python.
В общем, исключения в любом случае не идеальны для вашей ситуации - достаточно простого цикла while
. Исключения должны быть зарезервированы для исключительных ситуаций, и неправильный пользовательский ввод не является исключительным, как ожидается.
Версия Release
на основе цикла будет выглядеть примерно так:
def Release():
a = None
while a not in (0, 1, 2, 3):
print 'Please select one of the following?\nCompletion = 0\nRelease ID = 1\nVersion ID = 2\nBuild ID = 3\n'
try:
a = int(input("Please select the type of release required: "))
except ValueError:
pass # Could happen in face of bad user input
files(a)
P.S. a
неверное имя переменной; вам, вероятно, следует изменить его на chosen_option
или что-то в этом роде.