在输入行运行时停止代码

1 投票
1 回答
46 浏览
提问于 2025-04-12 16:28

我正在尝试写一段超级简单的代码,目的是接收输入并打印出来。

userInput = input('enter: ')
print(userInput)

我遇到的问题是,当我在输入行运行的时候停止代码,就会出现一个错误:

Traceback (most recent call last):
  File "C:\Users\97258\PycharmProjects\pythonProject6\tast.py", line 1, in <module>
    input('enter: ')
  File "<frozen codecs>", line 319, in decode
KeyboardInterrupt

我被要求想办法让代码不要崩溃。

我试着添加了try和catch这个功能,但没有帮助,可能是因为代码在catch能捕捉到错误之前就已经停止了。

我只希望代码在我停止时不会报错,并且能以退出代码0或-1结束。

1 个回答

2

在这里,"try" 是正确的用法

try:
    userInput = input("enter : ")
    print(userInput)

但是在 "try" 之后,你需要加一个 "except"。如果你想知道为什么,可以看看这篇帖子,里面有一些很好的回答。还有一些回答解释了为什么在某些情况下使用 "try-except" 比用 "if" 语句更合适,因为这两者看起来很相似。

所以你可以加上这个

except KeyboardInterrupt:
    print("program stopped")

这样应该能解决你遇到的问题

撰写回答