Sha256: d4d2da74a8ca7588dbcc9a386ce9b5938de965645719c65c0bba18f530f89fe9

Contents?: true

Size: 1.37 KB

Versions: 9

Compression:

Stored size: 1.37 KB

Contents

// -*- c++ -*-
#pragma once
#ifndef __XOT_EXCEPTION_H__
#define __XOT_EXCEPTION_H__


#include <stdexcept>
#include <xot/string.h>


namespace Xot
{


	class XotError : public std::runtime_error
	{
		typedef std::runtime_error Super;
		public: XotError (const char* str = NULL);
	};


	class InvalidStateError : public XotError
	{
		typedef XotError Super;
		public: InvalidStateError (const char* str = NULL);
	};


	class SystemError : public XotError
	{
		typedef XotError Super;
		public: SystemError (const char* str = NULL);
	};


	class NotImplementedError : public XotError
	{
		typedef XotError Super;
		public: NotImplementedError (const char* str = NULL);
	};


	String error_text (const char* file, int line, const char* str);


	namespace ErrorFunctions
	{

		void xot_error             (const char* file, int line, const char* format = NULL, ...);

		void argument_error        (const char* file, int line, const char* format = NULL, ...);

		void index_error           (const char* file, int line, const char* format = NULL, ...);

		void invalid_state_error   (const char* file, int line, const char* format = NULL, ...);

		void system_error          (const char* file, int line, const char* format = NULL, ...);

		void not_implemented_error (const char* file, int line, const char* format = NULL, ...);

	}// ErrorFunctions


	using namespace ErrorFunctions;


}// Xot


#endif//EOH

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
xot-0.1.15 include/xot/exception.h
xot-0.1.14 include/xot/exception.h
xot-0.1.13 include/xot/exception.h
xot-0.1.12 include/xot/exception.h
xot-0.1.11 include/xot/exception.h
xot-0.1.10 include/xot/exception.h
xot-0.1.9 include/xot/exception.h
xot-0.1.8 include/xot/exception.h
xot-0.1.7 include/xot/exception.h