태그: 에러처리
4편
-
JavaScript 비동기 디버깅 예제 | Unhandled Rejection과 Promise 체인 에러 추적하기
간헐적으로 Unhandled Rejection만 남는 Node.js·Express 코드를 예로, 에러 핸들러가 빠진 Promise 체인에서 에러가 왜 사라지는지 재현하고, 비동기 스택 트레이스로 호출 위치를 찾는 조건, async/await 전환, 전역 핸들러, Express 에러 미들웨어, Sentry 연동, 타임아웃·재시도 패턴까지 설명합니다.
-
C++ 예외 처리: try/catch/throw, 예외 안전성, 언제 예외를 쓰나
예외를 던질지 에러 코드를 반환할지 결정하는 기준부터, 예외를 참조로 잡아야 하는 이유, 소멸자에서 던지면 안 되는 이유, RAII로 예외 안전성을 지키는 법, 스택 풀기와 noexcept의 실제 효과까지 C++ 예외 처리를 코드로 짚습니다.
-
[[nodiscard]]로 반환값 무시 막기: 에러 코드, RAII 타입, 사유 메시지, Clang-Tidy 검증
C++ [[nodiscard]] 정리. 반환값을 무시해서 생기는 버그, 에러 코드와 RAII 타입에 붙이는 법, C++20 사유 메시지와 생성자 적용, Clang-Tidy 검증, C++26 std::ignore 논의를 다룹니다.
-
C++ 네트워크 에러 처리: errno 해석, 타임아웃, 지수 백오프 재시도, 서킷 브레이커, EINTR
프로덕션에서 간헐적으로 연결이 끊길 때 errno를 어떻게 해석하고 어떤 에러만 재시도할지 판단하는 법을 다룹니다. SO_RCVTIMEO·select·논블로킹 connect 타임아웃 비교, 지터를 섞은 지수 백오프, 서킷 브레이커, EINTR과 부분 send·recv 처리도 설명합니다.