Книга: Программирование на языке Ruby

11.3.9. Просмотр стека вызовов

11.3.9. Просмотр стека вызовов

And you may ask yourself:Well, how did I get here?[13]Talking Heads, «Once in a Lifetime»

Иногда необходимо знать, кто вызвал метод. Эта информация полезна, если, например, произошло неисправимое исключение. Метод caller, определенный в модуле Kernel, дает ответ на этот вопрос. Он возвращает массив строк, в котором первый элемент соответствует вызвавшему методу, следующий — методу, вызвавшему этот метод, и т.д.

def func1
 puts caller[0]
end
def func2
 func1
end
func2 # Печатается: somefile.rb:6:in 'func2'

Строка имеет формат «файл;строка» или «файл;строка в методе».

Оглавление книги


Генерация: 1.229. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз