LCOV - code coverage report
Current view: top level - core/pal - internalexception.h (source / functions) Hit Total Coverage
Test: coverage.info.cleaned Lines: 0 9 0.0 %
Date: 2021-04-10 08:29:14 Functions: 0 0 -
Branches: 0 0 -

           Branch data     Line data    Source code
       1                 :            : /*
       2                 :            :  *   libpal - Automated Placement of Labels Library
       3                 :            :  *
       4                 :            :  *   Copyright (C) 2008 Maxence Laurent, MIS-TIC, HEIG-VD
       5                 :            :  *                      University of Applied Sciences, Western Switzerland
       6                 :            :  *                      http://www.hes-so.ch
       7                 :            :  *
       8                 :            :  *   Contact:
       9                 :            :  *      maxence.laurent <at> heig-vd <dot> ch
      10                 :            :  *    or
      11                 :            :  *      eric.taillard <at> heig-vd <dot> ch
      12                 :            :  *
      13                 :            :  * This file is part of libpal.
      14                 :            :  *
      15                 :            :  * libpal is free software: you can redistribute it and/or modify
      16                 :            :  * it under the terms of the GNU General Public License as published by
      17                 :            :  * the Free Software Foundation, either version 3 of the License, or
      18                 :            :  * (at your option) any later version.
      19                 :            :  *
      20                 :            :  * libpal is distributed in the hope that it will be useful,
      21                 :            :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      22                 :            :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      23                 :            :  * GNU General Public License for more details.
      24                 :            :  *
      25                 :            :  * You should have received a copy of the GNU General Public License
      26                 :            :  * along with libpal.  If not, see <http://www.gnu.org/licenses/>.
      27                 :            :  *
      28                 :            :  */
      29                 :            : 
      30                 :            : #ifndef INTERNAL_EXCEPTION_H
      31                 :            : #define INTERNAL_EXCEPTION_H
      32                 :            : 
      33                 :            : #include <exception>
      34                 :            : 
      35                 :            : namespace pal
      36                 :            : {
      37                 :            : 
      38                 :            :   /**
      39                 :            :    * \brief Various Exceptions
      40                 :            :    * \ingroup core
      41                 :            :    */
      42                 :            :   class InternalException
      43                 :            :   {
      44                 :            :     public:
      45                 :            : 
      46                 :            :       /**
      47                 :            :        * \brief Thrown when something is added in a Full set
      48                 :            :        * \ingroup core
      49                 :            :       */
      50                 :          0 :       class Full : public std::exception
      51                 :            :       {
      52                 :          0 :           const char *what() const throw() override
      53                 :            :           {
      54                 :          0 :             return "This set is full...";
      55                 :            :           }
      56                 :            :       };
      57                 :            : 
      58                 :            :       /**
      59                 :            :        * \brief Thrown when trying to access an empty data set
      60                 :            :        * \ingroup core
      61                 :            :       */
      62                 :          0 :       class Empty : public std::exception
      63                 :            :       {
      64                 :          0 :           const char *what() const throw() override
      65                 :            :           {
      66                 :          0 :             return "This set is empty...";
      67                 :            :           }
      68                 :            :       };
      69                 :            : 
      70                 :            :       /**
      71                 :            :        * \brief Thrown when a geometry type is not like expected
      72                 :            :        * \ingroup core
      73                 :            :       */
      74                 :            :       class WrongGeometry : public std::exception
      75                 :            :       {
      76                 :            :           const char *what() const throw() override
      77                 :            :           {
      78                 :            :             return "GeometryTypeId is not expected...";
      79                 :            :           }
      80                 :            :       };
      81                 :            : 
      82                 :            :       /**
      83                 :            :        * \brief Thrown when a geometry type is not like expected
      84                 :            :        * \ingroup core
      85                 :            :       */
      86                 :          0 :       class UnknownGeometry : public std::exception
      87                 :            :       {
      88                 :          0 :           const char *what() const throw() override
      89                 :            :           {
      90                 :          0 :             return "Geometry Type is unknown";
      91                 :            :           }
      92                 :            :       };
      93                 :            : 
      94                 :            : 
      95                 :            :       /**
      96                 :            :        * \brief Throw an exception when it's impossible to compute labelPosition
      97                 :            :        * \ingroup core
      98                 :            :       */
      99                 :            :       class NoLabelPosition : public std::exception
     100                 :            :       {
     101                 :            :           const char *what() const throw() override
     102                 :            :           {
     103                 :            :             return "No way to compute positions";
     104                 :            :           }
     105                 :            :       };
     106                 :            :   };
     107                 :            : 
     108                 :            : } // end namespace
     109                 :            : 
     110                 :            : #endif

Generated by: LCOV version 1.14