访问Rescue Block中的错误消息

Kyl*_*e C 1 ruby

有没有办法在救援块中以字符串形式访问错误消息?例如:

def foo
  raise RuntimeError, "This is an error"
end

def bar
  begin
    foo
  rescue RuntimeError
    puts "Rescued"
  end
end

bar
Run Code Online (Sandbox Code Playgroud)

有没有办法"This is an error"从救援区获得进入?像这样的东西:

...
rescue RuntimeError
    puts <error-message>
end
...
Run Code Online (Sandbox Code Playgroud)

use*_*195 5

您需要指定一个变量来存储错误

def foo
  raise RuntimeError, "This is an error"
end

def bar
  begin
    foo
  rescue RuntimeError => ex
    puts "Rescued #{ex.message}"
  end
end
Run Code Online (Sandbox Code Playgroud)