Всем привет!
Не подскажете, как лучше всего реализовать обработку ошибок в гуёвом приложении, чтобы их можно было переводить на другие языки и бросать как исключения.
Тут с одной стороны lupdate требует наличия QObject, с другой - QObject запрещает копирование/перемещение, которое появляется при throw. В итоге получается целый ворох разных ошибок, который постоянно меняется как при убирании QObject, так и при добавке.
class doesNotExist: public QException, public QObject
{
Q_OBJECT
private:
QString f;
public:
doesNotExist(const QString& filename):
f(filename)
{}
virtual QString what() const noexcept override
{
return tr("File does not exist: ")+f;
}
};
Ещё и типы возвращаемого значения конфликтуют у what...
В общем, буду рад любой помощи.