我的构造函数中有以下代码块(这只是一个示例,问题不是关于split
,而是关于抛出一个通用异常。此外,不能使用Boost库。
Transfer::Transfer(const string &dest){
try{
struct stat st;
char * token;
std::string path(PATH_SEPARATOR) // if it is \ or / this macro will solve it
token = strtok((char*)dest.c_str(), PATH_SEPARATOR) //
while(token != NULL){
path += token;
if(stat(path.c_str(), &st) != 0){
if(mkdir(path.c_str()) != 0){
std:string msg("Error creating the directory\n");
throw exception // here is where this question lies
}
}
token = strtok(NULL, PATH_SEPARATOR);
path += PATH_SEPARATOR;
}
}catch(std::exception &e){
//catch an exception which kills the program
// the program shall not continue working.
}
}
如果目录不存在并且无法创建,我想要的是抛出异常。我想抛出一个通用异常,我该怎么做C++
?PS:dest
格式如下:
dest = /usr/var/temp/current/tree