FrozenError 클래스
FrozenError 클래스 (FrozenError)
동결된(frozen) 객체를 수정하려고 시도할 때 발생하는 예외예요.
[1, 2, 3].freeze raises the exception:
FrozenError: can't modify frozen Array
출처: Ruby 3.3 API
본문
FrozenError는 RuntimeError의 서브클래스예요. 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 객체를 돌려줘요.