나는 TFile
이라는 클래스를 가지고 있으며 수정할 수 없다. 입/출력 파일을 찾을 수 없으면 예외가 발생하지 않지만 IsZombie
메서드를 사용하여 iternal 상태를 확인할 수 있습니다. 지금, 나는 매우 간단한 예외를 구현했습니다 :FileNotFoundError 예외를 구현해야합니까?
class FileNotFoundError : public std::runtime_error
{
public :
FileNotFoundError(const std::string & file_name="")
: runtime_error("cannot find file " + file_name), filename(file_name) {};
string filename;
~FileNotFoundError() throw() {};
};
을 내가로 사용 :
f = new TFile(total.c_str(), "RECREATE") ;
if (f->IsZombie())
{
throw FileNotFoundError(total);
}
이 예외를 구현하는 더 나은 방법이, 내 말은 : 그것은 userful을 던져하는 것입니다 내 예외 대신
ifstream::failure
표준 예외가 발생 했습니까?
사이드 코멘트로서 위의 스 니펫 -> 메모리 누수에서 방금 할당 한 메모리를 공개하지 않고 버릴 수도 있습니다. –