강의

멘토링

로드맵

Inflearn Community Q&A

ksh79533954's profile image
ksh79533954

asked

Minimum C++ for C developers

Exception Class

예외 클래스에서 catch 안의 데이터형이 참조자인 이유

Resolved

Written on

·

341

0

안녕하세요. 강의 잘 보고 있습니다.

강의를 듣다가 궁금한 것이 생겨서 질문 드립니다.

 

catch(MyException &exp)
{
// 생략
}

이 강의 예제에서 catch의 예외 데이터형에 클래스 참조자를 받도록 하였는데 만약 아래처럼 참조자를 사용하지 않으면 복사생성이 되나요?

catch(MyException exp)
{
// 생략
}

 

c++microsoft-windows객체지향디자인-패턴

Quiz

`try` 블록에서 예외가 발생하면 프로그램 흐름은 어디로 이동하나요?

`throw` 바로 다음 코드로

함수 호출 이전 위치로

해당 예외를 처리할 수 있는 `catch` 블록으로

프로그램이 즉시 종료됩니다

Answer 1

2

nullnull8537님의 프로필 이미지
nullnull8537
Instructor

네, 맞습니다. 복사 생성과 함께 불필요한 객체가 하나 더 생겨 상대적으로 효율이 떨어진다 하겠습니다. 함수의 매개변수가 class라면 일단 참조형식으로 만드는 것이 정답입니다. 물론 예외처리에서도 동일합니다. 참고하시기 바랍니다. 😄

ksh79533954's profile image
ksh79533954

asked

Ask a question