Ruby:停止在Error输出中显示IP

时间:2017-06-24 18:28:21

标签: ruby ip hide editing

让机器人在传递连接错误时显示服务器IP,这可能会导致安全问题。想要在发生错误时消除IP的输出,任何人都有任何想法吗?

将主机IP输出到错误:

  

拒绝连接(2)=连接到"主机IP"港口45443。

我的代码:

module Bitcoin
  class Client
    def self.local
      return Bitcoin::Client.new(ENV['RPC_USER'], ENV['RPC_PASSWORD'],
        { host: 'Host IP', port: 45443, ssl: false} )
    end
  end
end

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

只需从该错误中解脱出来并使用自定义消息提出您自己的错误:

module Bitcoin
  class Client
    def self.local
      Bitcoin::Client.new(
        ENV['RPC_USER'], ENV['RPC_PASSWORD'],
        { host: 'Host IP', port: 45443, ssl: false} 
      )
    rescue StandardError
      raise "Unable to connect to Bitcoin"
    end
  end
end

答案 1 :(得分:1)

根据您传递的链接,您可以隔离特定的异常类型以及引发它们时会发生什么:

begin
  command = Command.new(params)
  command.perform
  json command.result

rescue NetworkError
  json text: "Custom message without ip", icon_emoji: ":large_blue_circle:"

rescue Exception => ex
  json text: "Error: #{ex.message}", icon_emoji: ":large_blue_circle:"
end