Указанный вами код неверен.
Если возникнет исключение, a
назначаться не будет. Код, который работал для других, был, вероятно, очень похож, но отличался.
Вот пример с try, за исключением того, что пользователь запрашивает, пока не будет допустимого ввода. Он также печатает путь к исполняемому файлу Python и его версии, чтобы быть уверенным, что это не проблема версии. IDE не должна быть в состоянии игнорировать попытку, кроме оператора.
Я никогда не слышал о чем-то подобном и предполагаю, что есть кое-что отличное от кода pycharm и Visual Studio.
import sys
print(sys.executable, sys.version_info) # for debugging only
while True:
inp = input("Input: ")
try:
a = int(inp)
break
except ValueError:
print("invalid input", inp, ". You should enter a number. Please retry")
print("A is", a)
Я не знаю, хотите ли вы заставить пользователяввести правильные данные или вы просто хотите обнаружить ошибку. Просто адаптируйте его под свои нужды