我正在尝试使用try-except catch创建一个错误陷阱,以防止用户输入字符串,但是当我运行代码时,它不会捕获错误。
info=False
count=input("How many orders would you like to place? ")
while info == False:
try:
count*1
break
except TypeError:
print("Please enter a number next time.")
quit()
#code continues
答案 0 :(得分:0)
input
返回的值为string
。
try:
val = int(userInput)
except ValueError:
print("That's not an int!")
答案 1 :(得分:0)
str
次ìnt
在python中完美运行:'a'*3 = 'aaa'
。您的try
区块中不会出现任何例外情况。
如果您想从int
中解除str
:
try:
int(count)
except ValueError:
do_something_else()
注意:它是ValueError
而不是TypeError
。
答案 2 :(得分:0)
更好的方法是使用try除块
while True:
try:
count=int(input("How many orders would you like to place? "))
break
except:
print("This is not a valid input. Try again\n")
print(count)
答案 3 :(得分:0)
您可以通过以下方式使用TypeError。
while True:
try:
count=input("How many orders would you like to place? ")
count += 1
except TypeError:
print("Please enter a number next time.")
break
注意,字符串可以在python中乘以整数,所以我使用了加法运算,因为我们不能在python中将整数添加到字符串。