使用while:True块退出代码-1

时间:2018-08-03 21:29:16

标签: python

因此,我今天在python中遇到了一个有趣的问题,涉及返回码。我将代码压缩得尽可能少以显示我的观点。这是代码块:

def main():
    try:
        while True:
            print(".")
    except KeyboardInterrupt:
        print("Catch")
        return

if __name__ == "__main__":
    main()

很显然,您永远不会使用这样的代码,我的意思是,它只会打印出无限的.,为什么要这么做?

但这不是重点,重点是当我终止该程序时,它不仅不会打印Catch,而且还会返回退出代码-1!

基于此的两个问题:

  1. 为什么try catch块不起作用?
  2. 我可以使用什么来捕获这种错误?

编辑

感谢您到目前为止的所有评论,一些注意事项和一个新问题:

  • 我的操作系统是Windows10。
  • 我使用Pycharm作为我的IDE,我使用CTRL-SHIFT-F10 运行该程序,然后按CTRL-F2将其关闭,从而模拟“运行”并 右上角的“终止”按钮,我的经验是 算作键盘中断。
  • Pycharm在运行带有配置的代码后显示退出代码。

那么IDE关闭是否就不再算作键盘故障了?如果是这样,有人知道如何配置它吗?还是我真的只需要从终端运行脚本?

0 个答案:

没有答案