Используя оператор try, но выдает синтаксическую ошибку - PullRequest
0 голосов
/ 18 сентября 2019

Простая проблема.Мне нужно, чтобы пользователь ввел число, а затем преобразовал строку в целое число, используя попытку / исключение.

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

userNum = input('enter a number: ')
try:
    num = int(userNum)

По какой-то причине это вызывает синтаксическую ошибку.Заявление об ошибке гласит:

Syntax Error:     num = int(userNum): <string>, line 3, pos 23

Может кто-нибудь сказать мне, почему это может вызвать проблемы и как я мог это исправить?Я так растерялся.

Ответы [ 3 ]

2 голосов
/ 18 сентября 2019

вы можете использовать, наконец, если вы хотите, чтобы что-то всегда происходило, если вы хотите, чтобы что-то случилось при ошибке, используйте кроме:

userNum = input('enter a number: ')
try:
    num = int(userNum)
finally:
    print("something")

или:

userNum = input('enter a number: ')
try:
    num = int(userNum)
except Exception:
  print("exception something")
finally:
    print("something")

или:

userNum = input('enter a number: ')
try:
    num = int(userNum)
except Exception:
    print("exception something")
2 голосов
/ 18 сентября 2019

В поле Try должно быть хотя бы одно из выражений исключений или окончаний, как в:

userNum = input('enter a number: ')
try:
    num = int(userNum)
except ValueError as e:
    print(e)
1 голос
/ 18 сентября 2019

В синтаксисе оператора try видно, что обязательна хотя бы одна часть except part или a finally.

Рабочий код с исключением:

userNum = input('enter a number: ')
try:
    num = int(userNum)
except:
    print("you didn't enter a number")
print(num)

Попробуйте онлайн!

...