试图为我的脚本语言(C ++)实现自定义错误系统

时间:2013-10-11 21:31:59

标签: c++ scripting

我正在为我的C ++游戏引擎创建的脚本语言有一点设计问题。我要做的是让一个名为SScript的对象调用一个方法来加载必要的文件,并检查脚本文件的后缀。我还有一个名为SMessage的基类,而不是另一个名为SErrorMessage的类。以下是一些示例代码,用于说明我想要做的事情:

SScript::SScript(const std::string& filepath)
{
    if (load(filepath) == SError(SError::Error_Codes::ERROR_CUSTOM))
    {

    }
}

SMessage& SScript::load(const std::string& filepath)
{

}

这是SError的头文件:

class SError : public SMessage
{
public:
    enum class Error_Codes
    {
        ERROR_CUSTOM = 1,
        ERROR_LOADING_SCRIPT = 2,
        ERROR_SCRIPT_INCORRECT_SUFFIX = 3,
    };

    SError(Error_Codes errorCode);
    SError(Error_Codes errorCode, const std::string& contents);

    virtual void message(const std::string& contents);

    inline bool operator=(const Error_Codes errorCode)
    {

    }

private:
    SError() {};

    Error_Codes m_error_code;

    void organizeString(const std::string& contents);
};

在SScript :: SScript()中,我想调用load并将其与各种SMessages或SErrorMessages进行比较。我尝试实现一个运算符重载,但我认为这不会解决问题。我有点像砖墙,我需要一个认真的设计重新思考。

0 个答案:

没有答案