Пишу либу под куте и, понятное дело, хочется писать её в стиле qt.
Но не жалуют они исключения...
функция внутренняя
bool someClass::userOperation()
{
unsetError();
if (!someOperation())
{
bufferError.text = "Ошибка такая то";
return false;
}
}
return true;
и со стороны юзера
if (!someClass.userOperation())
qDebug() << someClass.errorString()
Приводит к такому захламлению кода, что ужас.
Не проще ли забить на все это дело и отдавать пользователю исключения, которые бы он сам обрабатывал?
?
Было бы ничего, если бы это был один класс. Но этот класс использует кучу порождённых в нём объектов, и приходится в каждом хранить указатель на контейнер, чтобы он мог работать с общим буфером ошибок. Мне такая зависимость ни к чему, да и очищать буфер каждый раз, думать в каком месте записать сообщение об ошибке.....
Кто как выходит из данной ситуации?