나는 예외를 던질 수도있는 생성자가있다. 일단 이것이 발생하면 일단 deconstructor가 호출된다. 문제는 개체가 실제로 성공적으로 구성되었는지 확인하는 방법을 찾을 수 없다는 것입니다.C++ 실패한 개체 생성시 실행을 중단하는 방법?
나는
if (objectName) {
//keep working
} else {
//alert that something went wrong
}
일을 시도하지만 포인터는 항상 존재하지만 당신이하지 않는 무언가를 가리킬 수 있습니다 당신은 자바에서 할 수있는 것처럼 당신이 C++에 "널 (null)"개체를 가질 수 없습니다 것을 알게 필요.
그렇다면 객체 인스턴스화를 추가로 시도해 보았지만 실행이 정상적으로 계속됩니다. 개체가 성공적으로 구성되어 사용할 준비가되었는지 확인하는 가장 좋은 방법은 무엇입니까?
예외가 발생하지 않으면 개체가 완전히 생성됩니다. –
생성자가 throw하는 경우 항상 예외를 catch 할 수 있습니다. 자신이하는 일을 보여주는 실제 코드를 게시하십시오. –
절대적으로해야하지 않는 한 최선의 방법은 버리지 않습니다. 또한 다음 내용을 읽어보십시오. http://www.stroustrup.com/bs_faq2.html#ctor-exceptions –