Fawkes API
Fawkes Development Version
|
00001 00002 /*************************************************************************** 00003 * software.h - basic software exceptions 00004 * 00005 * Created: Wed Oct 04 18:37:35 2006 00006 * Copyright 2006-2009 Tim Niemueller [www.niemueller.de] 00007 * 00008 ****************************************************************************/ 00009 00010 /* This program is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation; either version 2 of the License, or 00013 * (at your option) any later version. A runtime exception applies to 00014 * this software (see LICENSE.GPL_WRE file mentioned below for details). 00015 * 00016 * This program is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 * GNU Library General Public License for more details. 00020 * 00021 * Read the full text in the LICENSE.GPL_WRE file in the doc directory. 00022 */ 00023 00024 #ifndef __CORE_EXCEPTIONS_SOFTWARE_H_ 00025 #define __CORE_EXCEPTIONS_SOFTWARE_H_ 00026 00027 #include <core/exception.h> 00028 00029 namespace fawkes { 00030 #if 0 /* just to make Emacs auto-indent happy */ 00031 } 00032 #endif 00033 00034 class NullPointerException : public Exception { 00035 public: 00036 NullPointerException(const char *format, ...) throw(); 00037 }; 00038 00039 00040 class DivisionByZeroException : public Exception { 00041 public: 00042 DivisionByZeroException(const char *format, ...) throw(); 00043 }; 00044 00045 00046 class TypeMismatchException : public Exception { 00047 public: 00048 TypeMismatchException(const char *format, ...) throw(); 00049 }; 00050 00051 00052 class UnknownTypeException : public Exception { 00053 public: 00054 UnknownTypeException(const char *format, ...) throw(); 00055 }; 00056 00057 00058 class DestructionInProgressException : public Exception { 00059 public: 00060 DestructionInProgressException(const char *format, ...) throw(); 00061 }; 00062 00063 00064 class NotLockedException : public Exception { 00065 public: 00066 NotLockedException(const char *format, ...) throw(); 00067 }; 00068 00069 00070 class NonPointerTypeExpectedException : public Exception { 00071 public: 00072 NonPointerTypeExpectedException(const char *format, ...) throw(); 00073 }; 00074 00075 00076 class MissingParameterException : public Exception { 00077 public: 00078 MissingParameterException(const char *format, ...) throw(); 00079 }; 00080 00081 00082 class IllegalArgumentException : public Exception { 00083 public: 00084 IllegalArgumentException(const char *format, ...) throw(); 00085 }; 00086 00087 00088 class OutOfBoundsException : public Exception { 00089 public: 00090 OutOfBoundsException(const char *msg) throw(); 00091 OutOfBoundsException(const char *msg, float val, 00092 float min, float max) throw(); 00093 }; 00094 00095 00096 class AccessViolationException : public Exception { 00097 public: 00098 AccessViolationException(const char *format, ...) throw(); 00099 }; 00100 00101 00102 class SyntaxErrorException : public Exception { 00103 public: 00104 SyntaxErrorException(const char *format, ...) throw(); 00105 }; 00106 00107 class NotImplementedException : public Exception { 00108 public: 00109 NotImplementedException(const char *format, ...) throw(); 00110 }; 00111 00112 00113 } // end namespace fawkes 00114 00115 #endif