Project

General

Profile

Actions

Feature #10982

closed

Clarify location of NoMethod error

Added by schneems (Richard Schneeman) over 9 years ago. Updated about 3 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:<unknown>]

Description

In Ruby, the error NoMethodError on happens frequently, especially when it occurs on nil. This error can be confusing to beginners since, many of them think there is a problem with the method instead of the receiver. This error can be confusing to advanced developers when there are multiple method calls in the on the same line. In this example it is unclear if foo or bar returned nil:

foo.call && bar.call
NoMethodError: undefined method `call' for nil:NilClass

I would like to make this a better error message and to indicate where the exception occurs.

@foo.call && @bar.call
                 ^----
NoMethodError: The method `call` is undefined on receiver nil:NilClass

Now it is more clear that the @bar is currently nil and that is the source of the error. I believe exposing this information will help developers of all abilities.


Related issues 1 (0 open1 closed)

Has duplicate Ruby master - Feature #17930: Add column information into error backtraceClosedmame (Yusuke Endoh)Actions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0