Say*_*yuj 2 ruby error-handling exception
我得到了异常Thrift::TransportException (end of file reached),我想用消息("文件结束到达")来拯救它.
现在我做
begin
#...
rescue Thrift::TransportException => e
raise e unless "end of file reached" == e.message
# do whatever if it is not end of file reached.
end
Run Code Online (Sandbox Code Playgroud)
有没有办法做这个红宝石?
如果可以避免,不要依赖于消息的逻辑 - 消息只是文本,Thrift的开发人员可以在任何给定的时间点自由更改它们,打破你的应用程序.
TransportException在Thrift有一个type,这是你可以在这里看到的常数之一.与你相关的是END_OF_FILE.
至于代码中的实现,没有比在rescue块中执行它更好的方法来检查异常的属性,因此:
begin
#...
rescue Thrift::TransportException => e
raise e unless e.type == Thrift::TransportException::END_OF_FILE
# do whatever if it is not end of file reached.
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1543 次 |
| 最近记录: |