
Cookbook
567
15.8 에러로부터 보호하기
단시킨다. 탐지되지 못한 에러들은 프로그램이 실행되지 않는 주요 이유가 될 수
있다.
보고
코드를 중단해야만 한다면, 사용자들에게 합리적인 이유를 설명해 주어야 한다.
그러면 사용자들이 진단을 하고 문제를 고치는 데 도움이 된다.
복구
어떤 경우에는 코드가 자체적으로 상황을 바로잡으면서 계속 진행할 수도 있다.
그렇다고 하더라도 사용자들에게는 문제가 생겼고 그것을 수정했다고 경고를 해
주는 것이 좋다.
에러를 다루는 법은 코드를 견고하게 만드는 방법론인
(
defensive
programming
)의 일부라고 볼 수 있다.
stop
의 대안으로
warning
함수도 있다. 이 함수는 모든 메시지를 출력한 뒤 중단하지
않고 코드를 계속 실행한다. 그러나 실제로 계속 실행하는 것이 합리적인지 확실히
판단하도록 하자.
15.8
치명적인 에러의 가능성이 예상되며, 여러분은 전체를 중단하는 대신 그 에러에 대
해서만 처리를 하고 싶다.
possibly
함수를 써서 문제가 되는 코드를 ‘둘러싸도록(
wrap
)’ 하자. 그러면 에러를
가두어 두고 여러분이 그것에 적절히 반응할 수 있게 해 준다.
purrr
패키지에는 두 개의 매개변수를 받는
possibly
라는 함수가 있다. 첫 ...