diff options
author | deva <deva> | 2007-08-22 10:25:43 +0000 |
---|---|---|
committer | deva <deva> | 2007-08-22 10:25:43 +0000 |
commit | 9591262f6204c31f622f57be28b3d727470e2fce (patch) | |
tree | 44d30e067bfa1ff7af21b080e8294aa76f578a09 /server/src/exception.cc | |
parent | 47750e70ba9171c10e32a1033b68ae2b614799fa (diff) |
Dummy server created.
Diffstat (limited to 'server/src/exception.cc')
-rw-r--r-- | server/src/exception.cc | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/server/src/exception.cc b/server/src/exception.cc new file mode 100644 index 0000000..3e3bd46 --- /dev/null +++ b/server/src/exception.cc @@ -0,0 +1,77 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/*************************************************************************** + * exception.cc + * + * Mon Mar 19 11:33:15 CET 2007 + * Copyright 2006 Bent Bisballe Nyeng + * deva@aasimon.org + ****************************************************************************/ + +/* + * This file is part of Artefact. + * + * Artefact is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Artefact is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Artefact; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ +#include "exception.h" + +#include "debug.h" + +#include "log.h" + +Pentominos::Exception::Exception(std::string what) +{ + Pentominos::log(what); + _what = what; + +} + +const char* Pentominos::Exception::what() const throw() +{ + return _what.c_str(); +} + + +#ifdef TEST_EXCEPTION + +class MyException : public Pentominos::Exception { +public: + MyException() : + Pentominos::Exception("MyException has been thrown") {} +}; + +class MyExtException : public Pentominos::Exception { +public: + MyExtException(std::string thingy) : + Pentominos::Exception("MyExtException has been thrown: " + thingy) {} +}; + +int main() +{ + try { + throw MyException(); + } catch( MyException &e ) { + printf("%s\n", e.what()); + } + + try { + throw MyExtException("Yeaaah!"); + } catch( MyExtException &e ) { + printf("%s\n", e.what()); + } + + return 0; +} + +#endif/*TEST_EXCEPTION*/ |