我应该在哪里放置C ++自定义异常代码?

时间:2018-09-27 20:16:27

标签: c++ class exception header

我正在为我编写的生成随机短语的类编写自定义异常。我是C ++的新手,我想知道是否应该将Exception放置在Classes头文件,Classes .cpp文件中,或者是否需要拆分声明和实现。

Eclipse在main()方法中给我一个错误,指出:

error: 'FileException' does not name a type
  } catch (FileException& e) {

异常类如下:

class FileException : public std::exception {   
    public:
        const char* what() {
            return "File Could not be opened.";
        }
    }FileException;

关于这个问题的任何想法都将不胜感激,因为我非常困惑和困惑。

谢谢!

编辑:我还要提到,我只应该提交2个文件,该类的.cpp文件和.h文件

1 个答案:

答案 0 :(得分:3)

摆脱变量(您可能不需要它)或为类和变量使用不同的名称。

说明:

class FileException : public std::exception {   

FileException是一门课。很好。

public:
    const char* what() {
        return "File Could not be opened.";
    }
}FileException;

最后一位定义了名为FileException的类型FileException的变量,该变量替换了FileException类。和定义一样

class FileException : public std::exception {   
public:
    const char* what() {
        return "File Could not be opened.";
    }
};
FileException FileException;

标识符FileException现在引用变量,而您不能引用该类。