최근에 뭔가 잘못되었을 때를 대비해 코드 줄에 rescue
을 사용할 수 있다는 것을 알게되었습니다 (http://www.rubyinside.com/21-ruby-tricks-902.html 팁 21 참조). 나는 같이하는 데 사용되는 몇 가지 코드를 가지고 :Ruby Oneline Rescue
rescue
방법으로
if obj['key'] && obj['key']['key2'] && obj['key']['key2']['name']
name = obj['key']['key2']['name']
else
name = ''
end
, 나는 이런 식으로 뭔가에 그 코드를 변경할 수 있다고 생각하십시오 전무 예외가 어떤 던져 경우
name = obj['key']['key2']['name'] rescue ''
레벨을 해시에 접근하면, 구조에 의해 잡히고, 저에게 줘야합니다. 원하는 동작이 있다면 이름을 nil
으로 설정할 수도 있습니다.
이렇게하는 데 알려진 위험이 있습니까? 이 사실이 너무 좋기 때문에 나는 묻는다. 첫 번째 코드 예제처럼 보이지 않게 너무나 추한 코드가 있습니다.
, 인라인에게'구조 '안전하다. I/O 오류 또는 데이터베이스 정보 누락으로 인해 다른 메소드가 예외를 발생시킬 수있는 메소드 호출이 끝날 때이 메소드를 사용할 때주의하십시오. 이러한 상황을 디버깅하는 것은 정말 어렵고 어렵습니다. –