有什么好处吗?

ApiTokenExpired = Class.new(StandardError)
...
raise ApiTokenExpired if response.errorCode == 429

在这个更懒惰的选择上:
raise 'api token expired' if response.errorCode == 429

考虑到这种错误检测只在代码中发生一次?

最佳答案

如果必须以特定的方式处理调用堆栈中的某个位置的错误,则自定义错误(如ApiTokenExpired)有一个重要的优势。

begin
  # ...
rescue ApiTokenExpired => error
  # handle the specific error
rescue => error
  # default error handling
end

imo创建自定义错误的决定不取决于项目的大小或将来的维护。
因为自定义错误类会导致额外的工作,所以我默认不使用它当需要特殊的错误处理时,应该引入一个错误类。

07-25 23:46