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

时间:2019-09-18 20:41:13

标签: python syntax-error try-catch try-except

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

我以前做过类似的事情。实际上,我之前做过很多复杂的事情,这就是为什么我对自己的代码无法正常工作感到困惑的原因。

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

由于某种原因,这会导致语法错误。 错误语句显示为:

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

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

3 个答案:

答案 0 :(得分:2)

尝试至少拥有以下一项 除外或最终表达式如下:

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

答案 1 :(得分:2)

如果您希望某些事情总是发生,则可以最终使用;如果您希望某些错误发生,请使用:

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 :(得分:1)

syntax of a try statement中,您可以看到至少有一个public CompletableFuture<List<Employee>> buildEmployee (List<EmployeeResponse> employeeInfo) { // First call is Async call CompletableFuture<Map<String, List<EmployeeReward>>> rewards = CompletableFuture.supplyAsync(()->reward(employeeInfo), executor); //Second call by main thread Map<String, List<EmployeePoints>>> points = points(employeeInfo); // main thread is Blocked and get the result of the future. rewards.get(); //throws InterruptedException,ExecutionException // Now combine the result and return list return CompletableFuture.completedFuture(result); } 部分一个except部分是必须的。

工作代码,除了:

finally

Try it online!