throw std::string("Division by zero");
예외 객체가 만들어지고 현재 함수 실행이 중단됩니다.
`safeDivide()`가 `std::string`을 던지면 현재 `try` 블록의 남은 문장은 건너뛰고, 선언 순서대로 호환되는 `catch`를 찾습니다.
예외 객체가 만들어지고 현재 함수 실행이 중단됩니다.
같은 `try` 안의 뒤쪽 문장은 실행되지 않습니다.
`int`나 `catch(...)`보다 먼저 일치하는 타입의 블록이 선택됩니다.
처리가 끝나면 `try-catch` 뒤의 정상 흐름으로 돌아옵니다.