00001 #pragma ident "$Id: VDrawException.hpp 1644 2009-01-27 19:26:14Z ckiesch $" 00002 00004 00005 //============================================================================ 00006 // 00007 // This file is part of GPSTk, the GPS Toolkit. 00008 // 00009 // The GPSTk is free software; you can redistribute it and/or modify 00010 // it under the terms of the GNU Lesser General Public License as published 00011 // by the Free Software Foundation; either version 2.1 of the License, or 00012 // any later version. 00013 // 00014 // The GPSTk is distributed in the hope that it will be useful, 00015 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 // GNU Lesser General Public License for more details. 00018 // 00019 // You should have received a copy of the GNU Lesser General Public 00020 // License along with GPSTk; if not, write to the Free Software Foundation, 00021 // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00022 // 00023 // Copyright 2004, The University of Texas at Austin 00024 // 00025 //============================================================================ 00026 00027 00028 #ifndef VDRAW_EXCEPTION_H 00029 #define VDRAW_EXCEPTION_H 00030 00031 #include <exception> 00032 #include <string> 00033 00034 namespace vdraw 00035 { 00038 00042 class VDrawException: std::exception { 00043 00044 public: 00045 00049 VDrawException() 00050 : myExplanation("Unspecified exception has occured") 00051 {} 00052 00056 VDrawException(const std::string& explanation) 00057 : myExplanation(explanation) 00058 {} 00059 00063 ~VDrawException() throw() 00064 {} 00065 00070 virtual const char* what() const throw() 00071 { 00072 return myExplanation.c_str(); 00073 } 00074 00075 private: 00076 00077 // The explanation 00078 std::string myExplanation; 00079 00080 }; // class VDrawException 00081 00083 00084 } // namespace vdraw 00085 00086 #endif //VDRAW_EXCEPTION_H 00087
1.3.9.1