Node.js발행일 2026. 8. 28.
Node.js 비동기 오류 처리
비동기 경계에서 오류를 놓치지 않고 사용자 응답과 운영 로그를 분리하는 방법을 정리합니다.
#Node.js#Error#Async
오류가 사라지는 경계#
Promise를 반환하는 함수를 await하지 않으면 호출자는 실패를 감지할 수 없습니다.
async function loadArticle(slug: string) {
const response = await fetch(`/api/articles/${slug}`);
if (!response.ok) {
throw new Error(`Article request failed: ${response.status}`);
}
return response.json();
}오류를 한 번만 기록한다#
하위 계층은 맥락을 추가해 오류를 던지고, 요청 경계에서 request ID와 함께 한 번 기록합니다. 같은 오류를 모든 계층에서 기록하면 로그가 중복됩니다.
종료 처리#
처리하지 못한 예외 이후에는 새 요청 수신을 중단하고 진행 중인 요청과 연결을 정리한 뒤 프로세스를 종료합니다.
정리#
비동기 오류 처리는 await, 오류 변환, 요청 경계 로깅, 안전한 종료의 연속된 정책입니다.