草庐IT

SystemExit

全部标签

ruby - SystemExit 是一种特殊的异常吗?

SystemExit的行为与其他Exception有何不同?我想我理解为什么提出适当的异常不会是好的原因。例如,您不希望发生这样奇怪的事情:beginexitrescue=>e#Silentlyswallowuptheexceptionanddon'texitend但是rescue如何忽略SystemExit?(它使用什么标准?) 最佳答案 当你编写rescue而没有一个或多个类时,itisthesame写作:begin...rescueStandardError=>e...end但是,有些异常不是从StandardError继承的

ruby-on-rails - 进行 HTTP 调用时,Ruby 中的频繁 SystemExit

我有一个RubyonRails网站,可以对外部Web服务进行HTTP调用。我大约每天收到一次SystemExit(下面的堆栈跟踪)错误电子邮件,其中调用服务失败。如果稍后我在我的网站上尝试完全相同的查询,它就可以正常工作。自该网站上线以来,这种情况一直在发生,我一直没能找到导致它的原因。Ruby是1.8.6版,rails是1.2.6版。还有人遇到这个问题吗?这是错误和堆栈跟踪。ASystemExitoccurred/usr/local/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/fcgi_handler.rb:116:inexit'/usr/local

java - 在 java 中调用 System.exit() 的确切目的是什么

我对system.exit有点困惑。我从这个link中发现了一些东西.但我心里有些疑惑。如果我使用系统退出,创建的对象、变量等会发生什么。一旦我调用system.exit,一切都会被破坏吗?如果"is"那么为什么我们在system.exit()之前强制进行垃圾收集?如果“否”,创建的对象在JVM(内存)中存储多长时间?如果在退出系统后再次运行程序,如果调用System.exit();后之前的对象没有被销毁,会发生什么情况?谢谢。 最佳答案 IfIusesystemexit,whatwillhappenedtothecreatedob

android - 在低于 21 的 API 级别上使用 Activity 类的 finishAndRemoveTask() 方法

我需要从最近使用的应用程序列表中删除应用程序。APIlevel21及以上没有问题。我使用finishAndRemoveTask()方法。但是该方法不能在低于21的API级别上使用。我如何在低于21的API级别上调用该方法?我尝试了这些解决方案,但它们不起作用:Closeapplicationandremovefromrecentapps/ 最佳答案 请检查下面的代码if(Build.VERSION.SDK_INT>=21)finishAndRemoveTask();elsefinish();System.exit(0);

python - 在 pytest 中验证来自 SystemExit 的错误代码或消息

根据pytest文档,我可以断言发生了SystemExit(),但我想做更多:我还想验证退出代码和任何消息。我尝试了下面的代码,但没有打印任何内容,而且我不确定我需要断言什么来证明我得到了正确的错误代码。withpytest.raises(SystemExit):docopt_args=validate_args(docopt_args)out,err=pytest.capsys.readouterr()assertout=='Foo'printout,err当我运行测试时,它通过了,但仅此而已。没有打印任何内容,我也没有收到断言错误。我期望执行的代码是:print'\n'+docop

python - 使用 sys.exit 或 SystemExit;什么时候用哪个?

有些程序员使用sys.exit,有些程序员使用SystemExit。有什么区别?什么时候需要在函数中使用SystemExit或sys.exit?例子:ref=osgeo.ogr.Open(reference)ifrefisNone:raiseSystemExit('Unabletoopen%s'%reference)或:ref=osgeo.ogr.Open(reference)ifrefisNone:print('Unabletoopen%s'%reference)sys.exit(-1) 最佳答案 没有实际区别,但您的示例代码还有

python - 使用 sys.exit 或 SystemExit;什么时候用哪个?

有些程序员使用sys.exit,有些程序员使用SystemExit。有什么区别?什么时候需要在函数中使用SystemExit或sys.exit?例子:ref=osgeo.ogr.Open(reference)ifrefisNone:raiseSystemExit('Unabletoopen%s'%reference)或:ref=osgeo.ogr.Open(reference)ifrefisNone:print('Unabletoopen%s'%reference)sys.exit(-1) 最佳答案 没有实际区别,但您的示例代码还有

python - 单元测试 : assert right SystemExit code

我正在使用unittest断言我的脚本引发了正确的SystemExit代码。基于http://docs.python.org/3.3/library/unittest.html#unittest.TestCase.assertRaises中的示例withself.assertRaises(SomeException)ascm:do_something()the_exception=cm.exceptionself.assertEqual(the_exception.error_code,3)我这样编码:withself.assertRaises(SystemExit)ascm:do_s

python - 为什么 "except Exception"没有捕捉到 SystemExit?

isinstance(SystemExit(1,),Exception)评估为True,但此代码段打印“caughtbybareexceptSystemExit(1,)”。try:sys.exit(0)exceptException,e:print'caughtbyexceptException',str(e)except:print'caughtbybareexcept',repr(sys.exc_info()[1])我的测试环境是Python2.6。 最佳答案 isinstance(SystemExit(1),异常)在Pytho

python - 避免在 Python 2.4 中意外捕获 KeyboardInterrupt 和 SystemExit

在Python脚本中,由于代码中某处的except子句,在很多情况下键盘中断(Ctrl-C)无法终止进程:try:foo()except:bar()Python2.5或更高版本中的标准解决方案是捕获Exception而不是使用裸except子句:try:foo()exceptException:bar()这是因为,从Python2.5开始,KeyboardInterrupt和SystemExit继承自BaseException,而不是Exception。但是,某些安装仍在运行Python2.4。在Python2.5之前的版本中如何处理这个问题?(我将自己回答这个问题,但把它放在这里以便
12