일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 다형성
- 오블완
- implicit conversion
- 티스토리챌린지
- Effective c++
- resource management class
- 스마트 포인터
- 함수 객체
- 비교 함수 객체
- exception
- reference
- 암시적 변환
- effective stl
- UE4
- 루아
- 상속
- 메타테이블
- c++
- 영화
- 게임
- operator new
- 반복자
- more effective c++
- 참조자
- 언리얼
- 예외
- Smart Pointer
- virtual function
- 영화 리뷰
- lua
- Today
- Total
목록소멸자 (2)
스토리텔링 개발자
항목 11 : 소멸자에서는 예외가 탈출하지 못하게 하자 소멸자가 호출되는 상황객체가 통상적인 조건에서 소멸되었을 때지역변수 객체가 유효범위(scope)를 벗어날 때객체가 직접 삭제(delete)될 때예외 처리 매커니즘에 의해 객체가 소멸되었을 때예외 전파(exception propagation) 과정의 일부분으로 스택 되감기가 진행될 때즉, 소멸자가 호출되었을 때 예외가 발생된 상태인지 아닌지 알 방도가 없다.실은 이제는 std::uncaught_exception을 통해서 예외가 스택 되감기(unwinding) 중인지 알아낼 수 있다. 예외가 소멸자를 빠져나가면 안되는 이유 1소멸자 내부에서 예외 발생 상태인지 구별할 방법이 없다.어떤 상황이든 예외가 발생된 상태라고 가정하고 소멸자를 방어적으로 ..
항목 8. 예외가 소멸자를 떠나지 못하도록 붙들어 놓자. C++은 예외를 내보내는 소멸자를 좋아하지 않는다.'소멸자에서 예외 발생'은 미정의 사항이다.(컴파일러 구현에 따라 다르게 반응한다.)그러므로 소멸자에서는 예외를 던지지 않도록 처리해야 한다. 소멸자가 예외를 던지지 않게 하는 두 가지 방법예외 발생 시 프로그램을 종료시킨다에러 발생 후 프로그램 실행을 계속할 수 없는 상황이라면 이 선택지예외를 삼켜버린다발생한 예외를 무시해도 프로그램이 신뢰성 있게 실행 지속되어야 한다는 보장이 된다면 이 선택지catch에서 어떤 처리도 해주지 않음으로써 예외를 삼켜버릴 수 있다. 소멸자에서 예외 발생하는 부분을 “사용자가 제어할 수도 있게” 함수를 제공해준다.사용자에게 예외 처리를 처리할 수 있는 선택..