我最近陷入了一场讨论raise
vs. throw
。有另一个 SO 线程讨论这个,专家们将这种情况总结如下:
- 投掷和加注在很大程度上是可以互换的
- 优点
throw
是你可以轻松地抛出任何东西,并且你不会浪费时间来整理堆栈跟踪
这给我留下了一个问题,为什么没有人真正在 Ruby 中使用 throw ?前面讨论的线程提到在 Sinatra 中使用 catch / throw 来处理 HTTP 错误代码,但是,我在野外看到的 catch / throw 示例非常少,而且我只在自己的代码中使用过一次。正如当前 Rails 安全危机所表明的那样,Ruby 社区广泛忽视了重要功能(在本例中为 $SAFE 级别)。那么 catch / throw 是怎么回事?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)