git repos / blockattack-game

blame: source/code/CppSdl/CppSdlException.hpp

normal view · raw

3db6ed5d sago007 2010-12-07 17:19 1
/* 
3db6ed5d sago007 2010-12-07 17:19 2
 * File:   CppSdlException.hpp
3db6ed5d sago007 2010-12-07 17:19 3
 * Author: poul
3db6ed5d sago007 2010-12-07 17:19 4
 *
3db6ed5d sago007 2010-12-07 17:19 5
 * Created on 7. november 2010, 13:19
3db6ed5d sago007 2010-12-07 17:19 6
 */
3db6ed5d sago007 2010-12-07 17:19 7
3db6ed5d sago007 2010-12-07 17:19 8
#ifndef _CPPSDLEXCEPTION_HPP
3db6ed5d sago007 2010-12-07 17:19 9
#define	_CPPSDLEXCEPTION_HPP
3db6ed5d sago007 2010-12-07 17:19 10
3db6ed5d sago007 2010-12-07 17:19 11
#include <string>
3db6ed5d sago007 2010-12-07 17:19 12
1df28151 sago007 2010-12-23 22:51 13
#define CPPSDL_ERROR_DATA 1
1df28151 sago007 2010-12-23 22:51 14
#define CPPSDL_ERROR_INVALID 2
1df28151 sago007 2010-12-23 22:51 15
#define CPPSDL_ERROR_MISSINGFILE 3
1df28151 sago007 2010-12-23 22:51 16
#define CPPSDL_ERROR_NULLPOINTER 4
1df28151 sago007 2010-12-23 22:51 17
1df28151 sago007 2010-12-23 22:51 18
enum Subsystem {OTHER,IMAGE,TILE,SPRITE,LAYER,SCREEN };
1df28151 sago007 2010-12-23 22:51 19
3db6ed5d sago007 2010-12-07 17:19 20
3db6ed5d sago007 2010-12-07 17:19 21
namespace CppSdl {
3db6ed5d sago007 2010-12-07 17:19 22
class CppSdlException : std::exception{
3db6ed5d sago007 2010-12-07 17:19 23
public:
1df28151 sago007 2010-12-23 22:51 24
    //CppSdlException();
593aeae4 sago007 2011-06-25 22:42 25
    /**
593aeae4 sago007 2011-06-25 22:42 26
     * Constructor for making a fully CppSdl compliant expection
593aeae4 sago007 2011-06-25 22:42 27
     * @param subsystem Can be: OTHER,IMAGE,TILE,SPRITE,LAYER,SCREEN
593aeae4 sago007 2011-06-25 22:42 28
     * @param errorNumber 1=Data error, 2=Invalid, 3=Missingfile, 4=null pointer
593aeae4 sago007 2011-06-25 22:42 29
     * @param msg Human readable error message.
593aeae4 sago007 2011-06-25 22:42 30
     */
1df28151 sago007 2010-12-23 22:51 31
    CppSdlException(Subsystem subsystem, long errorNumber, std::string msg);
3db6ed5d sago007 2010-12-07 17:19 32
    CppSdlException(const CppSdlException& orig);
3db6ed5d sago007 2010-12-07 17:19 33
    virtual ~CppSdlException() throw();
3db6ed5d sago007 2010-12-07 17:19 34
    virtual const char* what() const throw();
1df28151 sago007 2010-12-23 22:51 35
    long GetErrorNumber();
8d488d32 sago007 2011-04-17 13:02 36
    Subsystem GetSubSystem();
3db6ed5d sago007 2010-12-07 17:19 37
private:
1df28151 sago007 2010-12-23 22:51 38
    std::string _message;
1df28151 sago007 2010-12-23 22:51 39
    long _errorNumber;
1df28151 sago007 2010-12-23 22:51 40
    Subsystem _subsystem;
3db6ed5d sago007 2010-12-07 17:19 41
};
3db6ed5d sago007 2010-12-07 17:19 42
3db6ed5d sago007 2010-12-07 17:19 43
3db6ed5d sago007 2010-12-07 17:19 44
}
3db6ed5d sago007 2010-12-07 17:19 45
#endif	/* _CPPSDLEXCEPTION_HPP */
3db6ed5d sago007 2010-12-07 17:19 46
1970-01-01 00:00 47