범위 축소
실패 가능한 호출만 try에 넣어 어떤 작업이 실패했는지 흐리지 않는다.
큰 try 경계 점검try-catch는 실패를 숨기는 블록이 아니라 복구 경계를 표시하는 문법이다. 파생 예외부터 잡고, 값 복사 대신 참조로 받고, 재던지기와 로그 위치를 구분한다.
실패 가능한 호출만 try에 넣어 어떤 작업이 실패했는지 흐리지 않는다.
큰 try 경계 점검catch는 위에서 아래로 검사되므로 파생 타입을 먼저 둔다.
std::exception은 뒤catch (const E&)로 받아 복사와 slicing을 피한다.
다형 예외 보존처리할 수 있으면 복구하고, 아니면 문맥을 추가하거나 원본을 재던진다.
throw; 사용