diff options
author | Joerg Bornemann <joerg.bornemann@nokia.com> | 2012-02-15 15:56:22 +0100 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-02-15 21:57:41 +0100 |
commit | 5672fa8fd3bd6b09125d9e143a7bb277cea2e87f (patch) | |
tree | c945b6ad76bd8c8f6af8b520cf3ce72ef298d4b5 /src/lib/tools/error.h |
Long live qbs!
Change-Id: I412793e868919a9ac99611616f292e7047f1ebcf
Diffstat (limited to 'src/lib/tools/error.h')
-rw-r--r-- | src/lib/tools/error.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/src/lib/tools/error.h b/src/lib/tools/error.h new file mode 100644 index 000000000..0a05e1534 --- /dev/null +++ b/src/lib/tools/error.h @@ -0,0 +1,90 @@ +/************************************************************************** +** +** This file is part of the Qt Build Suite +** +** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** +** GNU Lesser General Public License Usage +** +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this file. +** Please review the following information to ensure the GNU Lesser General +** Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. +** Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +**************************************************************************/ + +#ifndef QBS_ERR +#define QBS_ERR + +#include "codelocation.h" + +namespace qbs { + +class Error +{ +public: + Error() + : line(0), column(0) + {} + + Error(const Error &rhs) + : description(rhs.description) + , file(rhs.file) + , line(rhs.line) + , column(rhs.column) + {} + + Error(const QString &_description, + const QString &_file = QString(), + int _line = 0, int _column = 0) + : description(_description) + , file(_file) + , line(_line) + , column(_column) + { + } + + Error(const QString &_description, const CodeLocation &location) + : description(_description) + , file(location.fileName) + , line(location.line) + , column(location.column) + { + } + + QString toString() const; + void clear(); + + QString description; + QString file; + int line, column; +}; + +} // namespace qbs + +#define QBS_TESTLIB_CATCH catch (qbs::Error &e) { \ + QFAIL(qPrintable(QString(QLatin1String("\n%1\n")).arg(e.toString())));} + +#endif |