繁体   English   中英

使用 try 语句,但给我语法错误

[英]Using try statement, but giving me syntax error

简单的问题。 我需要让用户输入一个数字,然后使用 try/except 将字符串转换为 integer。

我以前做过类似的事情。 事实上,我以前做过更复杂的事情,这就是为什么我对为什么我的代码不起作用感到困惑。

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

由于某种原因,这会导致语法错误。 错误声明如下:

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

谁能告诉我为什么这会导致问题以及如何解决? 我很混乱。

Try 需要至少有一个 except 或 finally 表达式,如下所示:

userNum = input('enter a number: ')
try:
    num = int(userNum)
except ValueError as e:
    print(e)

如果您希望某些事情总是发生,您可以使用 finally,如果您希望在错误时发生某些事情,请使用 except:

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")

try语句的语法中,您可以看到至少一个except部分finally部分是强制性的。

工作代码除了:

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

在线尝试!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM