문제 상황수행하려는 일과 관련 없는 예외가 튀어나오면 당황스럽다.고수준 메소드가 저수준의 예외 처리하지 않고 바깥으로 전파해버릴 때 발생하는 문제다. 해결 방법상위 계층 저수준 예외를 잡아 자신의 추상화 수준에 맞는 예외로 바꿔야한다. try { // 저수준 예외 발생 } catch (LowerLevelException e) { // 추상화 수준에 맞게 번역 throw new HigherLevelException(...) }왜, 언제 사용하는가?저 수준의 예외가 디버깅에 도움이 될 때다. 예외 번역 (Exception Translation)class AbstractSquentialList { /* * @throws IndexOutOfBoundsException {@inheritDoc} ..