Seamly2D
Code documentation
vexceptionwrongid.h
Go to the documentation of this file.
1 /***************************************************************************
2  * *
3  * Copyright (C) 2017 Seamly, LLC *
4  * *
5  * https://github.com/fashionfreedom/seamly2d *
6  * *
7  ***************************************************************************
8  **
9  ** Seamly2D is free software: you can redistribute it and/or modify
10  ** it under the terms of the GNU General Public License as published by
11  ** the Free Software Foundation, either version 3 of the License, or
12  ** (at your option) any later version.
13  **
14  ** Seamly2D is distributed in the hope that it will be useful,
15  ** but WITHOUT ANY WARRANTY; without even the implied warranty of
16  ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  ** GNU General Public License for more details.
18  **
19  ** You should have received a copy of the GNU General Public License
20  ** along with Seamly2D. If not, see <http://www.gnu.org/licenses/>.
21  **
22  **************************************************************************
23 
24  ************************************************************************
25  **
26  ** @file vexceptionwrongparameterid.h
27  ** @author Roman Telezhynskyi <dismine(at)gmail.com>
28  ** @date November 15, 2013
29  **
30  ** @brief
31  ** @copyright
32  ** This source code is part of the Valentine project, a pattern making
33  ** program, whose allow create and modeling patterns of clothing.
34  ** Copyright (C) 2013-2015 Seamly2D project
35  ** <https://github.com/fashionfreedom/seamly2d> All Rights Reserved.
36  **
37  ** Seamly2D is free software: you can redistribute it and/or modify
38  ** it under the terms of the GNU General Public License as published by
39  ** the Free Software Foundation, either version 3 of the License, or
40  ** (at your option) any later version.
41  **
42  ** Seamly2D is distributed in the hope that it will be useful,
43  ** but WITHOUT ANY WARRANTY; without even the implied warranty of
44  ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
45  ** GNU General Public License for more details.
46  **
47  ** You should have received a copy of the GNU General Public License
48  ** along with Seamly2D. If not, see <http://www.gnu.org/licenses/>.
49  **
50  *************************************************************************/
51 
52 #ifndef VEXCEPTIONWRONGID_H
53 #define VEXCEPTIONWRONGID_H
54 
55 #include <qcompilerdetection.h>
56 #include <QString>
57 #include <QtGlobal>
58 
59 #include "../ifcdef.h"
60 #include "vexception.h"
61 
62 class QDomElement;
63 
64 /**
65  * @brief The VExceptionWrongId class for exception wrong id
66  */
68 {
69 public:
70  VExceptionWrongId(const QString &what, const QDomElement &domElement);
73  virtual ~VExceptionWrongId() V_NOEXCEPT_EXPR (true) Q_DECL_EQ_DEFAULT;
74  virtual QString ErrorMessage() const Q_DECL_OVERRIDE;
75  virtual QString DetailedInformation() const Q_DECL_OVERRIDE;
76  QString TagText() const;
77  QString TagName() const;
78  qint32 LineNumber() const;
79 protected:
80  /** @brief tagText tag text */
81  QString tagText;
82 
83  /** @brief tagName tag name */
84  QString tagName;
85 
86  /** @brief lineNumber line number */
87  qint32 lineNumber;
88 };
89 
90 //---------------------------------------------------------------------------------------------------------------------
91 /**
92  * @brief TagText return tag text
93  * @return tag text
94  */
95 inline QString VExceptionWrongId::TagText() const
96 {
97  return tagText;
98 }
99 
100 //---------------------------------------------------------------------------------------------------------------------
101 /**
102  * @brief TagName return tag name
103  * @return tag name
104  */
105 inline QString VExceptionWrongId::TagName() const
106 {
107  return tagName;
108 }
109 
110 //---------------------------------------------------------------------------------------------------------------------
111 /**
112  * @brief LineNumber return line number in file
113  * @return line number
114  */
115 inline qint32 VExceptionWrongId::LineNumber() const
116 {
117  return lineNumber;
118 }
119 
120 #endif // VEXCEPTIONWRONGID_H
The VExceptionWrongId class for exception wrong id.
QString TagName() const
TagName return tag name.
VExceptionWrongId(const QString &what, const QDomElement &domElement)
VExceptionWrongId exception wrong parameter id.
virtual ~VExceptionWrongId() Q_DECL_EQ_DEFAULT
QString tagText
tagText tag text
virtual QString DetailedInformation() const Q_DECL_OVERRIDE
DetailedInformation return detailed information about error.
qint32 lineNumber
lineNumber line number
virtual QString ErrorMessage() const Q_DECL_OVERRIDE
ErrorMessage return main error message.
QString tagName
tagName tag name
QString TagText() const
TagText return tag text.
VExceptionWrongId & operator=(const VExceptionWrongId &e)
qint32 LineNumber() const
LineNumber return line number in file.
The VException class parent for all exception. Could be use for abstract exception.
Definition: vexception.h:66
virtual const char * what() const Q_DECL_OVERRIDE
Definition: vexception.cpp:161
#define V_NOEXCEPT_EXPR(x)
Definition: ifcdef.h:91