Issue #6286 has been updated by vo.x (Vit Ondruch).


It is actually surprising that the formatting of exception is not provided by the Exception class. I realise that it is probably due to some historic reasons, but once the Exception has its #format method, it could be used in place of error_print().
----------------------------------------
Bug #6286: Add Exception#format method
https://bugs.ruby-lang.org/issues/6286#change-25881

Author: vo.x (Vit Ondruch)
Status: Feedback
Priority: Normal
Assignee: 
Category: lib
Target version: 2.0.0
ruby -v: ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux]


It would be nice if Exception class could be extended by #format method (or method with some more suitable name), which would provide the same formatting as is standard output of Ruby exception, e.g. 

boomtest.rb:18:in `go': boom (RuntimeError)
  from boomtest.rb:34:in `foo'
  from boomtest.rb:36

Currently, this formatting is done by error_print function from eval_error.c. Unfortunately this method is just Ruby's internal.

Please note that there exists exception_string gem, which add similar method [1] to the Exception class.


[1] https://github.com/raggi/exception_string/blob/master/lib/exception_string.rb#L15-19


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