【问题标题】:Ruby append to string if error contains string如果错误包含字符串,则Ruby附加到字符串
【发布时间】:2018-02-24 14:22:04
【问题描述】:

我有一个 Slack 机器人,它需要在错误情况下做出响应。如果错误中有某些文本,我想在返回消息中附加一些附加信息。如果我注释掉 message += 行,则这段代码可以正常工作,但如果我不注释则中断。当我尝试在irb 中复制它时,一切正常。

这里看起来有什么明显错误吗?

begin
  scan = @nsc.scan_devices(devices)
rescue Nexpose::APIError => e
  puts "[!] API ERROR: Most likely caused by an orphaned asset (#{device_ids})"
  puts "[!] #{e}"
  $slackbot_logger.error("[!] API ERROR: Most likely caused by an orphaned asset (#{device_ids})")
  $slackbot_logger.error(e)

  # Message back to Slack
  message = "<@#{user_id}> scan for #{ip_list} *failed* :sob:"
  message += 'There is a scheduled blackout Tues/Thurs until 1000 CST' if e.include? 'blackout'

  SlackFunctions.slack_send_message(message, channel)
  return
end

【问题讨论】:

    标签: ruby slack slack-api


    【解决方案1】:

    这个特定的错误对象(可能还有所有的错误对象)没有include? 方法。因此使用e.to_s 似乎可以解决问题。

    【讨论】:

      猜你喜欢
      • 2021-02-07
      • 1970-01-01
      • 2020-02-14
      • 1970-01-01
      • 1970-01-01
      • 2019-03-15
      • 2017-10-19
      • 1970-01-01
      • 2020-03-24
      相关资源
      最近更新 更多