File indexing completed on 2024-05-05 08:04:30
0001 /* -*- C++ -*- 0002 Base class for exceptions in ThreadWeaver. 0003 0004 SPDX-FileCopyrightText: 2005-2013 Mirko Boehm <mirko@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 */ 0008 0009 #ifndef EXCEPTION_H 0010 #define EXCEPTION_H 0011 0012 #include <stdexcept> 0013 0014 #include <QString> 0015 0016 #include "threadweaver_export.h" 0017 0018 namespace ThreadWeaver 0019 { 0020 class THREADWEAVER_EXPORT Exception : public std::runtime_error 0021 { 0022 public: 0023 explicit Exception(const QString &message = QString()); 0024 ~Exception() throw() override; 0025 QString message() const; 0026 0027 private: 0028 QString m_message; 0029 }; 0030 0031 class THREADWEAVER_EXPORT JobAborted : public Exception 0032 { 0033 public: 0034 explicit JobAborted(const QString &message = QString()); 0035 }; 0036 0037 class THREADWEAVER_EXPORT JobFailed : public Exception 0038 { 0039 public: 0040 explicit JobFailed(const QString &message = QString()); 0041 }; 0042 0043 // test: 0044 class AbortThread : public Exception 0045 { 0046 public: 0047 AbortThread(const QString &message = QString()); 0048 }; 0049 0050 } 0051 0052 #endif // EXCEPTION_H