-1

我打算用 C++ 做一些事情,比如创建一个文件。在创建文件的函数中,我为可能的失败设置了几个例外。例如,如果文件存在,如果磁盘已满,如果允许访问,如果文件创建愉快地结束等等......现在,当我想全部捕获它们时,我会感到困惑。

int file_create(std::string file_name) {...} // includes several exceptions at various points

try{
    file_create("/var/simple.txt");
}
catch(...){
   // what should I do here to have a specific control over what exception is throw?
}

我知道这...是为了包罗万象,但我不知道它是否可以让对抛出的异常进行更深入的调查?

我基于 C++011 编译。

4

1 回答 1

4

您可以执行以下操作:

try
{
//your code
}
catch(FirstException &e){}
catch(SecondException &e){}
...

或者,如果您只想捕获一些您定义的异常,您可以创建一个自定义BaseException,然后将其他异常定义为该异常的子类。

于 2015-06-26T09:38:24.987 回答