태그: exception
6편
-
Java 예외 처리 | try-catch, throws, 커스텀 예외
Java 예외 계층과 try-catch-finally, 멀티 catch, throws 전파, Checked·Unchecked 커스텀 예외, try-with-resources를 다루고 예외 변환·재시도 패턴과 넓은 catch 같은 흔한 실수를 예제로 짚습니다.
-
Python 예외 처리: try-except, raise, 커스텀 예외
try-except의 기본과 else·finally가 각각 언제 실행되는지, raise로 예외를 던지고 다시 올리는 방법, Exception을 상속한 커스텀 예외 설계를 코드로 설명합니다. 안전한 파일 처리와 재시도 로직 예제로 실제 적용 방식도 보여줍니다.
-
C++ 스택 되감기: 예외 발생 시 소멸자 호출 순서와 소멸자 예외가 terminate되는 이유
C++에서 예외가 던져지면 catch를 찾을 때까지 스택 프레임을 거슬러 올라가며 지역 객체 소멸자를 역순으로 호출합니다. 이 순서와 RAII가 자원 누수를 막는 원리, 소멸자에서 예외를 던지면 terminate되는 이유, 부분 생성된 객체 처리를 예제로 봅니다.
-
C++ noexcept 지정자: 이동 생성자·swap·소멸자에 붙이는 이유와 위반 시 terminate
C++ noexcept 지정자로 함수가 예외를 던지지 않음을 명세하는 방법을 이동 생성자, swap, 소멸자, vector 최적화 예제로 정리합니다. 조건부 noexcept, noexcept 연산자, 위반 시 std::terminate 함정까지 다룹니다.
-
C++ 예외 비용: Zero-Cost 모델의 의미, throw 비용, noexcept와 이동 생성자
C++ 예외의 Zero-Cost 모델이 실제로 무엇을 의미하는지, 정상 경로와 예외 경로의 비용 차이, noexcept가 이동 생성자 성능에 미치는 영향, 그리고 예외를 제어 흐름으로 남용했을 때의 실제 성능 손실을 벤치마크와 함께 정리합니다.
-
C++ 예외 처리, try-catch와 Error Code 중 뭐가 빠를까
함수 호출이 깊어질수록 에러 코드를 계속 전달하기 어려워지는 문제에서 출발해 throw와 try-catch 문법, catch 순서, 표준 예외 계층, RAII로 누수를 막는 법, 예외를 써야 할 때와 피할 때, 재던지기에서 throw;를 써야 하는 이유를 설명합니다.