except.h

来自「Shorthand是一个强大的脚本语言」· C头文件 代码 · 共 51 行

H
51
字号
#ifndef __except_h
#define __except_h
///////////////////////////////////////////////////////////////////////////////
// $Header: /shorthand/src/except.h 5     8/28/02 6:27a Arm $
//-----------------------------------------------------------------------------
// Project: ShortHand interpreter
// Author: Andrei Remenchuk <andrei@remenchuk.com>
//-----------------------------------------------------------------------------
// except.h: ShortHand exception classes
///////////////////////////////////////////////////////////////////////////////

#include <stdarg.h>
#include "cstring.h"

class ShhException
{
protected:
    char* m_message;
    int m_code;
    ShhException();
    mutable string m_hyperlink;
public:
    ShhException(int code, const char* format, ...);
    ShhException(const char* format, ...);
    ShhException(const char* format, va_list args);
    const char* href() const;
    const char* message() const { return m_message; }
    void setCode(int code) { m_code = code; }
    int code() const { return m_code; }
    virtual ~ShhException();
};

class ShhObjectException : public ShhException
{
protected:
    ShhObjectException();
public:
    ShhObjectException(const char* format, va_list args);
    ShhObjectException(const char* format, ...);
    ShhObjectException(int code, const char* format, ...);
};

class ShhFunctionException : public ShhObjectException
{
public:
    ShhFunctionException(int code, const char* format, va_list args);
    ShhFunctionException(int code, const char* format, ...);
};

#endif // __except_h

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?