Всем привет!
Не подскажете, как лучше всего реализовать обработку ошибок в гуёвом приложении, чтобы их можно было переводить на другие языки и бросать как исключения.
Тут с одной стороны 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...
В общем, буду рад любой помощи.





