프로그래밍 입문자에게 화면을 붉게 물들이는 '에러(Error) 메시지'는 두려움의 대상입니다. 보통 코드가 잘못되었거나 프로그램이 망가졌다는 '실패'의 의미로 받아들이기 때문입니다. 하지만 실무적인 관점, 나아가 엔터프라이즈급 소프트웨어 아키텍처의 관점에서 에러는 예상 가능한 상황에서 발생하는 정상적인 흐름 중 하나일 뿐입니다. 세계적인 IT 기업 구글(Google)의 SRE(사이트 신뢰성 엔지니어링) 원칙에는 "희망은 전략이 될 수 없다(Hope is not a strategy)"라는 말이 있습니다. 시스템이 아무런 문제 없이 100% 정상 작동하기만을 바라는 것은 불가능에 가깝습니다. 오늘 포스팅에서는 에러가 왜 제거 대상이 아닌 처리 대상인지, 그리고 올바른 예외 처리(Exception Handli..