Resgate Ruby Oneline

Eu aprendi recentemente que você pode usarrescue em uma linha de código no caso de algo dar errado nessa linhahttp://www.rubyinside.com/21-ruby-tricks-902.html Dica # 21). Eu tenho um código que costumava ficar assim:

if obj['key'] && obj['key']['key2'] && obj['key']['key2']['name']
  name = obj['key']['key2']['name']
else
  name = ''
end

Com orescue método, acredito que posso mudar esse código em algo como isto:

name = obj['key']['key2']['name'] rescue ''

Se uma exceção nula é lançada em qualquer nível de acesso ao hash, ela deve ser pego pelo resgate e me dar '', que é o que eu quero. Eu também poderia escolher definir o nome paranil se esse fosse o comportamento desejado.

Existe algum perigo conhecido em fazer isso? Eu pergunto porque isso parece bom demais para ser verdade. Eu tenho tanto código feio que eu adoraria me livrar do que parece o primeiro exemplo de código.

questionAnswers(3)

yourAnswerToTheQuestion