草庐IT

handle_exit

全部标签

ruby-on-rails - Rails 新手 : Recommendations for error handling in controller

抱歉,如果问题很明显,我才刚刚开始使用Rails。我现在在几个Controller方法中有以下代码:respond_todo|format|if@project.saveformat.html{redirect_to(edit_project_url(@project),:notice=>'#{user.name}addedto#{role}.')}format.jselseformat.html{render:action=>"edit"}format.js#...endend那么问题来了,对于所有方法中的错误,最好的方法是什么?是否建议我使用save!并在rescue_action

ruby-on-rails - 在不使用 `at_exit` 的情况下,如何确保操作在 Rails 退出之前运行?

我有一个操作需要在我的Rails应用程序终止之前在我的Rails应用程序中执行。我可以在Rails中为此使用一个钩子(Hook)吗?我猜类似于at_exit的东西。 最佳答案 Ruby本身支持两个钩子(Hook),BEGIN和END,它们在脚本开始时运行,并在解释器停止运行时运行。有关详细信息,请参阅“WhatdoesRuby'sBEGINdo?”。BEGIN文档说:Designates,viacodeblock,codetobeexecutedunconditionallybeforesequentialexecutionofth

ruby - Delayed_job : how to use handle_asynchronously to work with a function?

函数是:defcreateuser(name,pass,time)putsname,pass,timeend我试试:handle_asynchronously:createuser("a","b","c")得到一个错误:语法错误,意外'(',期待keyword_end谢谢。===编辑===日本的用户数据库和北京的网络服务器。所以我用这种方式来创建用户。defcreateuser(name,pass,time)Net::HTTP.get(URI.parse("http://www.example.net/builduser.php?hao=#{name}&mi=#{pass}&da=#{

ruby-on-rails - 可以在 Thread::handle_interrupt block 之外异步处理 ruby​​ 异常吗?

乍一看,我以为新的ruby​​2.0Thread.handle_interrupt会解决我所有的异步中断问题,但除非我弄错了,否则我无法让它做我想做的事(我的问题在最后和标题中)。从文档中,我可以看到如何避免在某个block中接收中断,将它们推迟到另一个block。这是一个示例程序:duration=ARGV.shift.to_it=Thread.newdoThread.handle_interrupt(RuntimeError=>:never)do5.times{putc'-';sleep1}Thread.handle_interrupt(RuntimeError=>:immedia

ruby - 为什么我们将 0 作为参数传递给 "exit"?

在艰难地学习ruby这本书中,我找到了退出程序的语法:Process.exit(0)为什么参数0被传递到这里的exit方法中,即使我传递另一个整数或不传递任何参数它都有效?0有什么意义? 最佳答案 这是一个“退出代码”。此退出代码在某些情况下具有特殊含义(参见示例http://tldp.org/LDP/abs/html/exitcodes.html)你可以传递任何你想要的,如果后面的代码没有被捕获,这将没有任何效果。这里的“0”代表“一切正常!” 关于ruby-为什么我们将0作为参数传递

ruby at_exit 退出状态

我可以确定自己在at_exitblock中的进程退出状态吗?at_exitdoifthis_process_status.success?print'Success'elseprint'Failure'endend 最佳答案 使用来自tadman的想法at_exitdoif$!.nil?||($!.is_a?(SystemExit)&&$!.success?)print'success'elsecode=$!.is_a?(SystemExit)?$!.status:1print"failurewithcode#{code}"ende

ruby - rake 任务 : error handling

我还在学习Rake。Rake是否内置支持处理任务错误,如NANT的MSBuild:如果此任务失败;执行另一个任务(回滚等)例如:在MSBuild中它们有OnError元素谢谢你的帮助 最佳答案 找到答案:只使用正常的异常处理blocktask:will_fail_taskdobeginraise"something'swronghere"rescuerollback()raise"errorexecutingtask"endend 关于ruby-rake任务:errorhandling,

ruby - 如何修复 "Unknown ruby interpreter version (do not know how to handle): RUBY_VERSION."

今天我只想在我的Mac上设置一个jekyll博客,并且已经安装了ruby​​2.3.0,但是当make'$jekyllserve'时,它是错误的。并在终端中显示:错误信息:Unknownrubyinterpreterversion(donotknowhowtohandle):RUBY_VERSION. 最佳答案 看起来像bundleexecjekyllnew将使用以下行创建一个GemfilerubyRUBY_VERSION我相信您会希望将该文件编辑为例如ruby'2.1.1' 关于rub

ruby - exit 和 exit 有什么区别!在 ruby ?

exit和exit有什么区别!在ruby中? 最佳答案 一些事情:退出处理程序以“退出”形式而非“退出!”形式运行。这意味着分配给“清理”的任何代码都不会使用“退出!”运行“退出状态”在“退出!”中默认设置为false。形式,而在“退出”形式中是正确的。“退出状态”是向操作系统发送的有关程序停止执行的消息。它们都是内核方法:http://www.ruby-doc.org/core/classes/Kernel.html 关于ruby-exit和exit有什么区别!在ruby?,我们在St

ruby - exit 和 abort 和有什么不一样?

abort文档说abort将Terminateexecutionimmediately,effectivelybycallingKernel.exit(false).“立即”到底是什么意思?abort和非true状态的exit有什么区别? 最佳答案 "Exit,Exit!Abort,Raise…GetMeOuttaHere!"描述了我认为您想知道的一切。简而言之:Kernel.exit(code)立即“退出”脚本并返回code然而,就在操作系统之前,它会调用任何已注册的at_exit您的代码可能已注册的处理程序。Kernel.exi