NameError

NameError

NameError는 이름이 유효하지 않거나 정의되지 않았을 때 발생하는 예외예요. 상수 이름은 대문자로 시작해야 하는데, 그 규칙을 어기거나 정의되지 않은 변수를 참조할 때 이 예외를 만나게 돼요.

puts foo
# NameError: undefined local variable or method `foo' for main:Object

출처: Ruby 4.0 API

본문

Public Class Methods

new(msg=nil, name=nil, receiver: nil) → name_error

NameError 예외를 새로 만들어요. name 인자를 주면 나중에 NameError#name 메서드로 그 이름을 꺼내볼 수 있어요. receiver 인자로는 에러가 발생한 문맥(맥락)의 객체를 넘길 수 있어요.

[1, 2, 3].method(:rject)  # NameError with name "rject" and receiver: Array
[1, 2, 3].singleton_method(:rject)  # NameError with name "rject" and receiver: [1, 2, 3]

Public Instance Methods

local_variables → array

NameError가 발생한 지점에 정의돼 있던 지역 변수 이름 목록을 돌려줘요. 내부용이에요(internal use only).

name → string or nil

NameError와 연관된 이름을 돌려줘요.

receiver → object

NameError와 연관된 리시버(수신자) 객체를 돌려줘요.