게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[ㅂㅅㄱ] 예외 처리 관련 질문입니다.
게시물ID : programmer_17625짧은주소 복사하기
작성자 : 존내쿨함
추천 : 0
조회수 : 366회
댓글수 : 3개
등록시간 : 2016/06/16 03:34:42
옵션
  • 본인삭제금지
질문이 있습니다. 예외 처리를 공부중인데요. 
업캐스팅해서 사용중에있습니다. base *bptr=&derived_obj 로 말이죠..
catch에서 (baseclass* bptr)를 하고 throw &dervice로 던졌는데
왜 정보가 제대로 넘어가지않을까요../?

template <typename T>

void Stack<T>::push(const T& pushValue) {

    if (this->topIndex >= STACK_MAX - 1) {

        StackFullException e(this, this->topIndex);

        throw &e;

    }

    this->stackPtr[++this->topIndex] =

    pushValue;

    // -1 -> 0 되고 나서 대입

}

Stack<int> stack5(STACK_MAX);

    for (int i = 0; i < 5; i++) {

        try {

            cout << "i : " << i << endl

            stack5.push(10 * i);

        }

        catch (const char* msg) {

            cout << "예외 종류 : " << msg << endl;

        }

        catch (MyException *ePtr) {

            ePtr->report();

        }

    }


핵심코드만 빼서 박았습니다.

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호