Python 为什么尝试在这种情况下不起作用?
我这里有一段代码:Python 为什么尝试在这种情况下不起作用?,python,try-except,Python,Try Except,我这里有一段代码: money_to_dep = int(input(f"\nHow much money do you want to deposit?(enter amount ONLY):\n>> ")) while True: try: print(money_to_dep) break except ValueError: print(f"Wrong INPUT. Try agai
money_to_dep = int(input(f"\nHow much money do you want to deposit?(enter amount ONLY):\n>> "))
while True:
try:
print(money_to_dep)
break
except ValueError:
print(f"Wrong INPUT. Try again.")
break
当我键入字符串而不是整数时,即使我执行了除ValueError之外的
,仍然会发生错误?为什么会发生这种情况?这个问题真的让我很恼火,因为我一直无法清楚地理解try-except如何处理错误。您必须这样编写代码:
while True:
try:
money_to_dep = int(input(f"\nHow much money do you want to deposit?(enter amount ONLY):\n>> "))
print(money_to_dep)
break
except ValueError:
print(f"Wrong INPUT. Try again.")
当您使用int时,ValueError会出现。因此它必须在try语句中。这意味着您的异常在try-catch之前发生。您需要将输入代码放入try中,以便它能够捕获异常
i、 e
money\u to\u dep=int(输入(f“\n您想存多少钱?(仅输入金额):\n>>”)
Exveption发生,但不在try块中,因此无法捕获。换成
为True时:
尝试:
money\u to\u dep=int(输入(f“\n您想存多少钱?(仅输入金额):\n>>”)
打印(货币部门至部门)
打破
例外情况除外,如E:
打印(f“输入错误,请重试”)
打破
将int(input())
放入try/except
语句money\u to\u dep=int(input(f“
不在下,请尝试:
。另外,为什么您需要,而True:
?@shahkalpesh,我正在一个更大规模的程序中工作,我只是想缩短它,以便您理解,您必须删除例外中的中断。(据说,请重试)