FrozenError 클래스

FrozenError 클래스 (FrozenError)

동결된(frozen) 객체를 수정하려고 시도할 때 발생하는 예외예요.

[1, 2, 3].freeze raises the exception:

FrozenError: can't modify frozen Array

출처: Ruby 3.3 API

본문

FrozenErrorRuntimeError의 서브클래스예요. freeze된 객체를 바꾸려 하면 예외가 발생하죠. 특히 receiver 파라미터를 통해 어떤 객체가 문제였는지 함께 담아둘 수 있어요.

::new (Public Class Method)

new(msg=nil, receiver: nil) — 새 FrozenError 예외를 만들어요. receiver 파라미터를 주면 나중에 FrozenError#receiver 메서드로 그 객체를 확인할 수 있어요.

a = [].freeze
raise FrozenError.new("can't modify frozen array", receiver: a)

#receiver (Public Instance Method)

receiver → object — 이 FrozenError 예외에 연관된 receiver 객체를 돌려줘요.