diff options
Diffstat (limited to 'Source/Asura.Engine/exceptions')
| -rw-r--r-- | Source/Asura.Engine/exceptions/exception.cpp | 47 | ||||
| -rw-r--r-- | Source/Asura.Engine/exceptions/exception.h | 43 | 
2 files changed, 0 insertions, 90 deletions
diff --git a/Source/Asura.Engine/exceptions/exception.cpp b/Source/Asura.Engine/exceptions/exception.cpp deleted file mode 100644 index dbb36ca..0000000 --- a/Source/Asura.Engine/exceptions/exception.cpp +++ /dev/null @@ -1,47 +0,0 @@ -#include "Exception.h" - -#include <cstdarg> -#include <iostream> - -namespace AsuraEngine -{ - -	Exception::Exception(const char *fmt, ...) -	{ -		va_list args; -		int size_buffer = 256, size_out; -		char *buffer; -		while (true) -		{ -			buffer = new char[size_buffer]; -			memset(buffer, 0, size_buffer); - -			va_start(args, fmt); -			size_out = vsnprintf(buffer, size_buffer, fmt, args); -			va_end(args); - -			// see http://perfec.to/vsnprintf/pasprintf.c -			// if size_out ... -			//      == -1             --> output was truncated -			//      == size_buffer    --> output was truncated -			//      == size_buffer-1  --> ambiguous, /may/ have been truncated -			//       > size_buffer    --> output was truncated, and size_out -			//                            bytes would have been written -			if (size_out == size_buffer || size_out == -1 || size_out == size_buffer - 1) -				size_buffer *= 2; -			else if (size_out > size_buffer) -				size_buffer = size_out + 2; // to avoid the ambiguous case -			else -				break; - -			delete[] buffer; -		} -		message = std::string(buffer); -		delete[] buffer; -	} - -	Exception::~Exception() throw() -	{ -	} - -} diff --git a/Source/Asura.Engine/exceptions/exception.h b/Source/Asura.Engine/exceptions/exception.h deleted file mode 100644 index bed8a9a..0000000 --- a/Source/Asura.Engine/exceptions/exception.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef __ASURA_ENGINE_EXCEPTION_H__ -#define __ASURA_ENGINE_EXCEPTION_H__ - -#include <exception> - -namespace AsuraEngine -{ -	 -	/** -	* A convenient vararg-enabled exception class. -	**/ -	class Exception : public std::exception -	{ -	public: - -		/** -		* Creates a new Exception according to printf-rules. -		* -		* See: http://www.cplusplus.com/reference/clibrary/cstdio/printf/ -		* -		* @param fmt The format string (see printf). -		**/ -		Exception(const char *fmt, ...); -		virtual ~Exception() throw(); - -		/** -		* Returns a string containing reason for the exception. -		* @return A description of the exception. -		**/ -		inline virtual const char *what() const throw() -		{ -			return message.c_str(); -		} - -	private: - -		std::string message; - -	}; // Exception - -} - -#endif
\ No newline at end of file  | 
