ruby - 在UDPSocket#bind中救援ERRNO::EADDRINUSE

标签 ruby sockets rescue

我试图挽救在bind语句中两次尝试使用相同地址时ruby引发的异常。 documentation不是很有帮助。
这就是我想要的:

require 'socket'
s = UDPSocket.new(Socket::AF_INET)
begin
  s.bind address,port
rescue #Address_in_use => e
  #code
end

最佳答案

没有显式Exception类的rescue仅可拯救StandardError及其子类。您应该执行以下操作:

rescue Errno::EADDRINUSE => ex
  #code
end

关于ruby - 在UDPSocket#bind中救援ERRNO::EADDRINUSE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20044133/

相关文章:

java - SWF 最大工作流程执行时间限制

python - 如何在不阻塞父进程的情况下在python子进程中运行?

Python Socket(简单服务器脚本)

rest - 自定义休息协议(protocol)是基于二进制而不是像 Http 那样基于文本的,这是一件好事吗?

带有 try 的 Ruby 字符串日期 to_date 产生无效日期

ruby - 我如何用密码保护我的/sidekiq 路由(即要求对 Sidekiq::Web 工具进行身份验证)?

ruby - 如何在没有无效选项警告的情况下为 Vagrant 实现自定义选项?

ruby-on-rails - 在 Rails 迁移中添加数据

ruby-on-rails - Ruby on Rails 在保存之前通过关联对象 has_many

ruby-on-rails - Array.join ("\n") 不是用换行符加入的方式吗?