A custom exception is raised while rescuing another. What does `e.cause` hold?
class HighError < StandardError; end
begin
begin
raise "low level"
rescue
raise HighError, "high level"
end
rescue => e
puts e.message
puts e.cause.message
end