Files
wassembly/include/execute/error.hpp

50 lines
714 B
C++

#pragma once
#include <string>
namespace Execute
{
class RuntimeError
{
protected:
std::string message;
public:
std::string const & GetMessage() const;
RuntimeError();
RuntimeError(std::string const & what);
};
class StackUnderflow : public RuntimeError
{
public:
StackUnderflow();
};
class StackOverflow : public RuntimeError
{
public:
StackOverflow();
};
class MissingLabel : public RuntimeError
{
public:
MissingLabel(std::string const & label);
};
class InterruptIndexOutOfRange : public RuntimeError
{
public:
InterruptIndexOutOfRange(int const index);
};
namespace Internal
{
class BadValueType : public RuntimeError
{
public:
BadValueType();
};
}
}