exception.icc
Go to the documentation of this file.00001 /* 00002 * Main authors: 00003 * Christian Schulte <schulte@gecode.org> 00004 * 00005 * Copyright: 00006 * Christian Schulte, 2004 00007 * 00008 * Last modified: 00009 * $Date: 2006-03-21 16:31:04 +0100 (Tue, 21 Mar 2006) $ by $Author: schulte $ 00010 * $Revision: 3091 $ 00011 * 00012 * This file is part of Gecode, the generic constraint 00013 * development environment: 00014 * http://www.gecode.org 00015 * 00016 * See the file "LICENSE" for information on usage and 00017 * redistribution of this file, and for a 00018 * DISCLAIMER OF ALL WARRANTIES. 00019 * 00020 */ 00021 00022 namespace Gecode { namespace Int { 00023 00030 00032 class VariableEmptyDomain : public Exception { 00033 public: 00035 VariableEmptyDomain(const char* l); 00036 }; 00037 00039 class VariableOutOfRangeDomain : public Exception { 00040 public: 00042 VariableOutOfRangeDomain(const char* l); 00043 }; 00044 00045 00047 class NumericalOverflow : public Exception { 00048 public: 00050 NumericalOverflow(const char* l); 00051 }; 00052 00053 00055 class ArgumentEmpty : public Exception { 00056 public: 00058 ArgumentEmpty(const char* l); 00059 }; 00060 00062 class ArgumentSizeMismatch : public Exception { 00063 public: 00065 ArgumentSizeMismatch(const char* l); 00066 }; 00067 00069 class ArgumentSame : public Exception { 00070 public: 00072 ArgumentSame(const char* l); 00073 }; 00074 00076 class OnlyInequalityRelations : public Exception { 00077 public: 00079 OnlyInequalityRelations(const char* l); 00080 }; 00081 00083 class UnknownRelation : public Exception { 00084 public: 00086 UnknownRelation(const char* l); 00087 }; 00088 00090 class UnknownBranching : public Exception { 00091 public: 00093 UnknownBranching(const char* l); 00094 }; 00095 00097 00098 00099 00100 00101 00102 /* 00103 * Classes for exceptions raised by integer module 00104 * 00105 */ 00106 00107 inline 00108 VariableEmptyDomain::VariableEmptyDomain(const char* l) 00109 : Exception(l,"Attempt to create variable with empty domain") {} 00110 00111 inline 00112 VariableOutOfRangeDomain::VariableOutOfRangeDomain(const char* l) 00113 : Exception(l,"Attempt to create variable with wrong values") {} 00114 00115 inline 00116 NumericalOverflow::NumericalOverflow(const char* l) 00117 : Exception(l,"Integer overflow") {} 00118 00119 00120 inline 00121 ArgumentEmpty::ArgumentEmpty(const char* l) 00122 : Exception(l,"Passed argument array has no elements") {} 00123 00124 inline 00125 ArgumentSizeMismatch::ArgumentSizeMismatch(const char* l) 00126 : Exception(l,"Sizes of argument arrays mismatch") {} 00127 00128 inline 00129 ArgumentSame::ArgumentSame(const char* l) 00130 : Exception(l,"Argument array contains same variable multiply") {} 00131 00132 00133 inline 00134 OnlyInequalityRelations::OnlyInequalityRelations(const char* l) 00135 : Exception(l,"Only inequality relations are allowed") {} 00136 00137 inline 00138 UnknownRelation::UnknownRelation(const char* l) 00139 : Exception(l,"Unknown relation type") {} 00140 00141 inline 00142 UnknownBranching::UnknownBranching(const char* l) 00143 : Exception(l,"Unknown branching type") {} 00144 00145 }} 00146 00147 // STATISTICS: int-other 00148