Niby temat prosty ale mam dylemat.
Napisałem poniższą funkcję, której zadaniem jest wczytać plik JSON i następnie ta funkcja ma go zwrócić
QJsonDocument SettingsFile::ReadSettings()
{
QFile jsonFile;
jsonFile.setFileName(QString("settings.json"));
if(!jsonFile.open(QIODevice::ReadOnly | QIODevice::Text)){
qDebug()<< "nie znaleziono pliku";
}
else{
QByteArray data;
data = jsonFile.readAll();
jsonDocument = QJsonDocument::fromJson(data);
return jsonDocument; //wydaje mi się, że dobrze zwracam obiekt
}
//ale kompilator zwraca mi uwagę, że tutaj powinienem ten obiekt zwrócić więc jak to zrobić dobrze ?
}
Dodałem komentarze do kodu aby zobrazować w czym mam problem. Czy ktoś udzieli mi prawidłowej odpowiedzi ?
EDIT:
Dlaczego o to pytam ? Bo przypadki są dwa
- znalezienie pliku
- nie znalezienie pliku
wariant 1 - jak nie znajdzie pliku, to jak umieszczę return
jak sugeruje kompilator, to funkcja zwróci pustego jsona
wariant 2 - znalazłem plik i funkcja ma zwrócić tylko to co znalazła, pustego obiektu nie chcę zwracać, bo po co ?