PrismLauncher/launcher/Exception.h

20 lines
610 B
C
Raw Permalink Normal View History

// Licensed under the Apache-2.0 license. See README.md for details.
#pragma once
#include <QDebug>
#include <QString>
#include <exception>
class Exception : public std::exception {
public:
Exception(const QString& message) : std::exception(), m_message(message) { qCritical() << "Exception:" << message; }
Exception(const Exception& other) : std::exception(), m_message(other.cause()) {}
2018-07-15 13:51:05 +01:00
virtual ~Exception() noexcept {}
const char* what() const noexcept { return m_message.toLatin1().constData(); }
QString cause() const { return m_message; }
private:
2018-07-15 13:51:05 +01:00
QString m_message;
};