异常专题提供异常的最新资讯内容,帮你更好的了解异常。
有没有办法拯救某个命名空间下的所有异常? 例如,我想拯救所有的Errno :: *异常(Errno :: ECONNRESET,Errno :: ETIMEDOUT).我可以继续在我的异常行上列出所有的东西,但是我想知道我是否可以做某事. begin # my code rescue Errno # handle exception end 上面的想法似乎不起作用,因此有什么类似的可以工作
今天,当我使用selenium webdrive,我有一个错误.我的平台是mac osx.这是我的例外日志. ruby-1.9.2-p0 > Selenium::WebDriver.for :firefox Selenium::WebDriver::Error::WebDriverError: unable to bind to locking port 7054 within 45 second
我有这个代码: Article.find([1,2,3]) 但只有数据库中存在1和2记录.我得到这个例外: "ActiveRecord::RecordNotFound (Couldn't find all Offers with IDs (1,2,3) (found 2 results, but was looking for 3))" 有没有办法只得到现有的记录,而不是异常? Article.f
如何处理控制器中的ActiveRecord :: RecordNotUnique异常?谢谢 编辑:当生成唯一代码时,我收到该异常.我可以处理application_controller.rb中的异常,但我真正想要的是重新生成代码,必须在控制器中完成. generate_code @couponcode = Couponcode.new(:user_id => current_user.id, :c
我试图通过使用Phusion Passenger在Apache2服务器上部署一个Rails应用程序.当一切在本地运行良好时,我在部署时会收到臭名昭着的“Bundler :: GemNotFound”错误: Could not find abstract-1.0.0 in any of the sources (Bundler::GemNotFound) 我所有的宝石都安装在我的本地主文件夹中.因此
有没有办法启动/一个 Ruby调试器,只要代码抛出一个异常,没有我包装这样的代码: begin #do something rescue debugger end 我想要这样做,如果做某些事情引起异常,调试器将开始.这将是很好的不必修改代码添加开始救援块全部. Hammertime!
是否有类似于after_filter的操作,如果该操作引发异常,它仍然运行? 我正在使用外部记录器(因为我在Heroku);响应头被过滤并记录在after_filter中.如果引发异常,则过滤器不会运行,并且我没有响应头数据的日志. 如果我尝试挂钩到log_error或rescue_action_in_public,响应头将不会完成(因为实际的渲染在这些之后调用). 是否有另一个可以覆盖的函数将在
我正在修复客户端应用程序中的一些批量分配漏洞,我想确保Rails没有默默地丢弃大规模分配受保护属性的尝试.相反,我想抛出一个异常,所以我可以调查. 即,只要这通常出现在日志中: WARNING: Can't mass-assign these protected attributes: ... 我想抛出异常(或者另外) 编辑:我正在使用Rails 2.3.4 你必须做一些Rails猴子修补才能做到
如果尝试批量分配attr_accessible不允许的属性,是否有办法让rails引发错误? 这在开发中会很方便,以提醒我为什么我的闪亮的新模型不起作用,并且还可以登录生产以检测恶意活动. 我正在使用rails 2.3.8,但可能很快就会迁移到3. 从Rails 3.2开始,这不再需要monkeypatching – rails现在提供了这种行为.把它放在development.rb和test.r
如何处理并发 ruby线程池中的异常( http://ruby-concurrency.github.io/concurrent-ruby/file.thread_pools.html)? 例: pool = Concurrent::FixedThreadPool.new(5) pool.post do raise 'something goes wrong' end # how to r
有以下代码: def index @posts = User.find_by(login: params[:user_id]).posts end 如您所见,如果没有用户进行某些登录(nil指针异常),则此代码可能会生成异常.如何捕获此异常并正确处理?我知道如何在Ruby中捕获异常,但我想知道如何以良好的Rails风格进行操作.在不同的控制器中可能会出现同样的问题 – 可能是我应该创建一个动作
如何使用backtrace创建例外? 我知道我们可以做这样的事情来实现这个目标: begin raise StandardError, "message" rescue StandardError => exception exception.backtrace end 要么 exception = StandardError.new("message") exception.set_ba
什么是挽救异常并继续处理的正确方法?我有一个具有文件夹和项目的应用程序,通过名为folders_items的连接表具有habtm关系.该表具有唯一约束,确保没有重复的项目/文件夹组合.如果用户尝试多次将项目添加到同一文件夹,我显然不希望添加其他行;但我也不想停止处理. 当违反唯一约束时,Postgres会自动抛出异常,因此我尝试在控制器中忽略它,如下所示: rescue PG::Error, :w
ActiveJob docs for exception handling提供了如何在作业上下文中执行异常处理的示例: class GuestsCleanupJob < ActiveJob::Base queue_as :default rescue_from(ActiveRecord::RecordNotFound) do |exception| # Do something w
当我使用Thread.new {}生成一个线程时,看起来在该线程中发生的任何异常都看不到白昼的亮点,而应用程序只是静静地忽略它 通常,线程彼此隔离,因此一个中的异常不会终止整个应用程序. 但是,虽然我从未使用它们,但Thread类有几个abort_on_exception方法,即使有一些例子.他们应该做你想做的事. http://corelib.rubyonrails.org/classes/Th
我正在用 Ruby编写一些脚本,我需要通过shell命令与一些非Ruby代码进行交互.我知道至少有 6 different ways个来自Ruby的shell命令,不幸的是,当shell命令失败时,这些命令似乎都没有停止执行. 基本上,我正在寻找相当于以下内容的东西: set -o errexit …在Bash脚本中.理想情况下,当命令失败时(即,通过检查非零返回值),解决方案将引发异常,可能使用
我在Heroku上安装一个Rails 3.2应用程序,每天在Rails应用程序中获得2-3次超时.这些不是H12请求超时,而是在Rails堆栈中发生的超时.因此,他们实际上在网站上产生异常并出现在我的Airbrake日志中. 似乎是超时发生的完全随机;有时它在一个像Formtastic这样的宝石,或在一个HAML视图内,或在ActiveRecord代码.你可以在这里看到一些回溯的例子:https:
我通过调用我的函数使用 rufus scheduler运行隔夜测试脚本. 有时我可以看到“调度程序捕获异常:”一条消息,它抛出了我的一些功能.然后调度程序停止执行以下测试用例. 我怎样才能使调度程序运行所有测试用例而不管是否捕获到任何异常? 这被称为“异常吞咽”.您拦截异常并且不对其执行任何操作. begin # do some dangerous stuff, like running te
环境 Ruby 2.2.1,Rails 4.2.0,rspec-core 3.2.2,rspec-expectations 3.2.0,rspec-mocks 3.2.1,rspec-rails 3.2.1,rspec-support 3.2.2 我有以下方法 def send_event_alert_email(event_id) event = Event.find_by(id: even
我正在使用delayed_job来处理heroku的后台作业.偶尔我会超越我的内存分配,我会得到这样的东西: 2011-11-16T02:41:25 00:00 heroku [worker.1]:错误R14(超出内存配额) 2011-11-16T02:41:45 00:00 heroku [worker.1]:正在运行的进程mem = 542M(106.0%) 我想优雅地处理这个问题.有没有办法