[C++] 예외(중첩예외, 예외클래스 계층, 예외캡슐화, 미처리 예외, 예외지정)
예외 전통적인 예외 처리 예외는 전통적인 실행을 방해하는 조건이나 상태를 의미한다. 프로그램을 잘못 작성해서 오동작하는 에러와는 다르다. 에러는 발견하는 즉시 수정해야하고 미처 발견하지 못하면 버그가된다. 예외는 버그와는 달리 프로그램을 제대로 만들었지만 원하는 대로 동작하지 못하게 방해하는 불가항력적인 상황이다. 아무리 코드를 잘 작성해도 미래의 상황까지 예측할 수 없기 때문에 예외는 항상 발생한다. 프로그램의 예외는 언제 어디서 발생할지 모르기때문에 적극적으로 대처해야한다. 잘못된 입력은 사용자에게 알려 재입력을 요구하고 실패한 동작은 원인은 제거한 후 성공할 때까지 재시도해야한다. 또 메모리 요구량이 잘못되었거나 할당에 실패할수도 있고, 사용자가 엉뚱하게 입력했을때도 예외가 발생할 수 있다. 이러다..