Toby Murray  wrote:
> Someone has commented on the Rails issue here: https://github.com/rails/rails/issues/27298#issuecomment-269980037 that this is one of a handful of errors that leak out. Not sure whether the ones mentioned there mean much in this context, but worth validation I imagine.

Other libraries also have the same behavior.

>      # callers do not care about backtrace, so avoid allocating for it
>
> I care...

Me too.

Can we close this issue by fixing backtrace information?
If you want Net::SMTPError, please file another ticket as a feature request.

Eric Wong wrote:
>> The reason why no stack trace is available is the following code introduced by r50219:
>>
>>         # callers do not care about backtrace, so avoid allocating for it
>>         raise EOFError, 'end of file reached', []
>>
>> Eric, is it intentional that stack trace is lost in this case?
>
> (Sorry, I missed this earlier, feel free to Cc: me directly if I
>  fail to respond).
>
> Yes, it was my intention to avoid allocations since I remember
> callers would not care; but it looks like I was wrong...
>
>> Speaking of Net::SMTP, EOFError is raised in do_finish, so it may be better to ignore.
>> However, it's too late to change the behavior in Ruby 2.4.0, I think.
>
> If caller needs backtrace, then yes, we should preserve stack
> trace.  EOFError is much rarer than IO::Wait*able, however, so
> less of a performance problem.

May I fix it to preserve the backtrace information, or would you?

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>