是否存在红宝石"异常"通过"救援对象"的情况?

Aar*_*Lee 5 ruby exception

是否有一种方法可以提升和异常,而不是从Exception下降?

我想避免的是:

require 'timeout'
begin
  timeout(1) {sleep(50)}
rescue StandardError => e
  puts e.message
end
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过"救援异常"或者更加彻底的"救援对象"来解决这个问题,但这对我来说似乎有些奇怪.

kch*_*kch 3

如果您尝试引发不属于该类的错误Exception,您将得到一个<TypeError: exception class/object expected>.