Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我应该把C++;自定义异常代码?_C++_Class_Exception_Header - Fatal编程技术网

C++ 我应该把C++;自定义异常代码?

C++ 我应该把C++;自定义异常代码?,c++,class,exception,header,C++,Class,Exception,Header,我正在为我编写的生成随机短语的类编写自定义异常。我是C++新手,我想知道我是否应该把异常放在类头文件中,在Copy.CPP文件中,或者如果需要分割声明和实现。 Eclipse在main()方法中给了我一个错误,该错误表示: error: 'FileException' does not name a type } catch (FileException& e) { 异常类看起来像: class FileException : public std::exception {

我正在为我编写的生成随机短语的类编写自定义异常。我是C++新手,我想知道我是否应该把异常放在类头文件中,在Copy.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;
对于这个问题的任何想法都将不胜感激,因为我非常困惑和困惑

谢谢

编辑:我还应该提到,我只应该提交两个文件,类的.cpp文件和.h文件。删除变量(您可能不需要它),或者为类和变量使用不同的名称

说明:
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
现在引用变量,而您不能引用类。

为非异常的类做您想做的事情。就个人而言,我喜欢使用而不是自定义异常,因为我可以在抛出站点给它一条自定义消息,这样可以更容易地找出抛出异常的原因。
class FileException : public std::exception {   
public:
    const char* what() {
        return "File Could not be opened.";
    }
};
FileException FileException;