34bf4ccdc7
5.0, 5.1 and 5.2 are currently marked as "allow failure". If they can be made to pass they should be removed from this list, if not they should be removed entirely.
35 lines
659 B
C++
35 lines
659 B
C++
// Licensed under the Apache-2.0 license. See README.md for details.
|
|
|
|
#pragma once
|
|
|
|
#include <QString>
|
|
#include <QDebug>
|
|
#include <exception>
|
|
|
|
#include "multimc_logic_export.h"
|
|
|
|
class MULTIMC_LOGIC_EXPORT 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())
|
|
{
|
|
}
|
|
virtual ~Exception() noexcept {}
|
|
const char *what() const noexcept
|
|
{
|
|
return m_message.toLatin1().constData();
|
|
}
|
|
QString cause() const
|
|
{
|
|
return m_message;
|
|
}
|
|
|
|
private:
|
|
QString m_message;
|
|
};
|