有什么好处吗?
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创建自定义错误的决定不取决于项目的大小或将来的维护。
因为自定义错误类会导致额外的工作,所以我默认不使用它当需要特殊的错误处理时,应该引入一个错误类。