当前位置: 首页 > 编程笔记 >

python exit出错原因整理

顾昊穹
2023-03-14
本文向大家介绍python exit出错原因整理,包括了python exit出错原因整理的使用技巧和注意事项,需要的朋友参考一下

Python程序有两种退出方式: os._exit() 和 sys.exit()。我查了一下这两种方式的区别。

  • os._exit() 会直接将python程序终止,之后的所有代码都不会执行。
  • sys.exit() 会抛出一个异常: SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获该异常的代码,那么这些

代码还是会执行。

例如

import os
try:
  os._exit(0)
except:
  print('Program is dead.')

这个print是不会打印的,因为没有异常被捕获。

import sys
try:
  sys.exit(0)
except:
  print('Program is dead.')
finally:
  print('clean-up')

这里两个print都可以打印,因为sys.exit()抛出了异常。

结论

使用sys.exit()来退出程序比较优雅,调用它能引发SystemExit异常,然后我们可以捕获这个异常做些清理工作。而os._exit()将python解

释器直接退出,后面的语句都不会执行。一般情况下用sys.exit()就行;os._exit()可以在os.fork()产生的子进程里使用。

到此这篇关于python exit出错原因整理的文章就介绍到这了,更多相关python exit出错是什么原因内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 我试图用AS0.8.6导入一个新的gradle Android项目(也尝试过0.8.7)。当导入时,我得到以下错误 从我的研究来看,这很可能是下载gradle包装器的问题。 根据SO上的另一篇文章(https://stackoverflow.com/a/23839694/413254)的建议,我尝试删除~/.gradle文件夹。在重新启动时,同样的事情会发生。 如果我尝试运行,我会得到以下错误:

  • 问题内容: 在关于sqlite的android vogella教程期间,我遇到了令人讨厌的问题,并出现以下错误: 我无数次地一步步修改所有文件,以正确重新创建R. class。关于此错误的非常奇怪的是,我不知道为什么在“ com.example.de.vogella.android”中有关于“ com.example”的任何内容。这是某种标准生成的名称吗?我所有的包/名称/路径都从未以“ com.

  • 问题内容: 我正在使用hibernate插入到所有表均定义为非null的mysql表中。它有一个唯一的主键,并在几列上有另一个唯一的索引。 我收到以下错误: org.springframework.dao.DataIntegrityViolationException:无法执行JDBC批处理更新。SQL [插入MY_TABLE(col1,col2,col3,col4,ID_)值(?,?,?,?,?

  • 我有一个功能,刚刚被报道在internet explorer中不起作用。不知道它有多长时间不起作用了,但我想它从一开始就起作用了。我可以在IE11中验证它。 我的应用程序使用angularjs 1.3.17。 表单上有一个名为重置的按钮。当他们点击它时,它调用,如下所示: 它将recordID发布到API,API在后端执行大量操作。只要成功,它就会返回一个。 成功后,它会将空字符串写入locals

  • 本文向大家介绍TypeError document.getElementById(...) is null错误原因,包括了TypeError document.getElementById(...) is null错误原因的使用技巧和注意事项,需要的朋友参考一下 今天手写了一个简单的页面做测试用,写完js部分总是报 TypeError document.getElementById(...) is

  • 请帮帮我。我试过了所有的办法,但还是解决不了这个问题。模拟器提示“App name keeps Stopping”。我的空气污染指数是28。提前谢谢你。 “at com.example.testrun.mainactivity.oncreate(mainactivity.java:20)”-logcat中的这一行是蓝色的。