🌿 중급 백엔드
에러 처리가 왜 중요한가요?
쉽게 이해하기
운전 중 타이어가 펑크 났을 때, 그냥 멈춰버리면 위험하잖아요. 비상등을 켜고 천천히 갓길로 이동하는 것처럼, 프로그램도 에러가 나면 사용자에게 알리고, 데이터 손실을 막고, 로그를 남겨서 나중에 고칠 수 있게 준비해야 해요.
핵심 정리
프로그램이 예상치 못한 상황에서 멈추지 않고 적절히 대응하게 만드는 기술이에요.
자세히 알아보기
에러 처리(Error Handling)는 프로그램이 실행 중 문제가 생겼을 때 어떻게 대응할지 정하는 과정이에요. 서버가 응답하지 않거나, 사용자가 잘못된 입력을 하거나, 파일이 없을 때 프로그램이 멈추지 않게 만들어요.
실무에서는 try-catch 문으로 에러를 잡아요. 예를 들어 API를 호출할 때 'try { const data = await fetch(url) } catch (error) { console.error(error) }' 형태로 쓰면, 네트워크 에러가 나도 프로그램이 멈추지 않고 에러 메시지만 출력해요. 프론트엔드에서는 사용자에게 '잠시 후 다시 시도해주세요' 같은 친절한 메시지를 보여주고, 백엔드에서는 에러 로그를 파일이나 모니터링 서비스(Sentry)로 전송해요.
에러 처리를 잘하면 사용자 경험이 좋아지고, 디버깅도 쉬워져요. 에러가 나면 어디서 왜 발생했는지 스택 트레이스(stack trace)로 확인할 수 있고, 에러 코드(404, 500)로 문제 종류를 빠르게 파악할 수 있어요.
API 개발할 때는 'if (!user) throw new Error('User not found')' 같은 커스텀 에러를 만들어서 명확하게 상황을 알려주고, 프론트에서는 에러 타입에 따라 다른 UI를 보여줘요. 에러 처리를 제대로 하면 서비스 안정성이 크게 높아져요.