Не раз задавался раньше вопросом на тему обработки ошибок. Часто вижу код, где кроме исключений ошибки почти не обрабатываются, если предусматривается, что их наличие маловероятно. Например код:
bool TForm::WriteConfig()
{
settings->setValue(QLatin1String("DSN"),edtDSN->text());
settings->setValue(QLatin1String("STYLE"),cbStyles->currentText());
switch (settings->status())
{
case QSettings::NoError :
return true;
case QSettings::AccessError :
qWarning("Can't write config, access error");
return false;
case QSettings::FormatError :
qWarning("Config file format error");
return false;
}
return true;
}
Это кусок из моей программы, тут видно, что проверка на ошибки идет только для второй инструкции setValue. Я бы мог ее продублировать или вынести в отдельный метод, который вызывать после каждой инструкции. Могу бы вообще не ставить проверку. Но хочу сделать по-совести. Одно дело, когда один ключ-параметр, а если их десятки ?
Может использовать inline функции ? Хочется сделать по совести, но стоит ли обрабатывать все Error'ы от каждого класса ? Может есть "красивые" способы ?