首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在eventmachine中捕获异常

如何在eventmachine中捕获异常
EN

Stack Overflow用户
提问于 2012-11-24 22:09:16
回答 1查看 948关注 0票数 3

我使用的是eventmachine 1.0.0和ruby 1.9.3。现在,当异常发生时,它会被悄悄地忽略。反应堆继续运行,没有任何输出。当然,我没有任何自定义的rescue命令来捕获异常。

这就是我启动反应堆的方式。但我的error_handler从未被调用过..。:-(

代码语言:javascript
复制
  EventMachine::run do
    EventMachine.error_handler do |e|
      $stderr.puts "Exception during event: #{e.message} (#{e.class})"
      $stderr.puts (e.backtrace || [])[0..10].join("\n")
    end

    puts "Starting ftp server on port 21"
    EventMachine::start_server("0.0.0.0", 21, self)
  end
EN

回答 1

Stack Overflow用户

发布于 2013-07-31 11:36:57

看看this thread on error_handler use吧。如果代码中出现异常,则事件循环终止。这可能是error_handler`不被调用的原因。它主要用于将C级错误传递给Ruby。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13541984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档