Issue #11347 has been updated by Aleksandar Kostadinov.


I rather think it is actually a but because it hides very important information from the user. It's like showing your error cut in half or on more pieces. It's just confusing to use `causes` this way. So I call it a bug as the initial feature implementation is somehow broken.

----------------------------------------
Feature #11347: Errors with cause not reported properly to console
https://bugs.ruby-lang.org/issues/11347#change-53417

* Author: Aleksandar Kostadinov
* Status: Open
* Priority: Normal
* Assignee: 
----------------------------------------
Hello, errors with `cause` are an important and very useful feature for debugging. It seems though default reporting is not showing the `cause` and nested causes to user. Here's a test file:

~~~ruby
raise "GAHGAH" rescue raise "error with cause" rescue e=$!

puts "Error: #{e}"
puts "Cause: #{e.cause}"

raise e
~~~

As you can see, the `cause` of the error is not printed in any way to the console when error is raised:

~~~
$ ruby /tmp/test.rb 
Error: error with cause
Cause: GAHGAH
/tmp/test.rb:1:in `rescue in <main>': error with cause (RuntimeError)
	from /tmp/test.rb:1:in `<main>
~~~



-- 
https://bugs.ruby-lang.org/