gpt4 book ai didi

ruby - 我的 Rubocop 不喜欢 Ruby 错误处理中的 => e。 => e 不是标准的吗?

转载 作者:太空宇宙 更新时间:2023-11-03 16:14:20 25 4
gpt4 key购买 nike

Rubocop 似乎不喜欢我处理错误的方式。我该怎么办?

Lint/UselessAssignment: Useless assignment to variable - e.
rescue *exceptions_list => e

它用于下面的代码:

  def get_request(url_args = {})
http_connection(url_builder(url_args[:url], url_args[:page]))
rescue *exceptions_list => e
raise "#{e.message}"
end

您在此处看到的 *exceptions_list 是在私有(private)方法中定义的:

  private

def exceptions_list
[
Net::HTTPBadResponse,
Net::HTTPHeaderSyntaxError,
Net::ProtocolError,
Errno::ECONNRESET,
Errno::EINVAL,
Timeout::Error,
EOFError,
SocketError
]
end

避免救援线过长。

问题:=> e 是错误处理的标准,不是吗?我该怎么办?

非常感谢您! =)

最佳答案

您的示例不提供来自 rubocop 的 Lint/UselessAssignment,至少对于版本 0.55.0

UselessAssignment 通常来自这样的东西:

def do_things
..
rescue *exception_list => e # Useless assignment, e is never used in the block below.
puts "it failed :("
end

要解决此问题,如果您没有将引发的异常用于任何事情,则可以删除分配:

def do_things
..
rescue *exception_list
puts "it failed and i don't care why :D"
end

关于ruby - 我的 Rubocop 不喜欢 Ruby 错误处理中的 => e。 => e 不是标准的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50755406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com