mirror of
https://github.com/tumic0/GPXSee.git
synced 2025-06-27 19:49:15 +02:00
Improved error reporting
This commit is contained in:
@ -62,37 +62,36 @@ Map *MapList::loadFile(const QString &path, const Projection &proj, bool *isDir)
|
||||
QFileInfo fi(path);
|
||||
QString suffix(fi.suffix().toLower());
|
||||
Map *map = 0;
|
||||
QStringList errors;
|
||||
|
||||
if ((it = _parsers.find(suffix)) != _parsers.end()) {
|
||||
while (it != _parsers.end() && it.key() == suffix) {
|
||||
delete map;
|
||||
map = it.value()(path, proj, isDir);
|
||||
if (map->isValid())
|
||||
break;
|
||||
|
||||
return map;
|
||||
else
|
||||
errors.append(it.key() + ": " + map->errorString());
|
||||
++it;
|
||||
}
|
||||
} else {
|
||||
QStringList errors;
|
||||
|
||||
} else {
|
||||
for (it = _parsers.begin(); it != _parsers.end(); it++) {
|
||||
map = it.value()(path, proj, isDir);
|
||||
if (map->isValid())
|
||||
break;
|
||||
return map;
|
||||
else {
|
||||
errors.append(it.key() + ": " + map->errorString());
|
||||
delete map;
|
||||
map = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (!map) {
|
||||
qWarning("Error loading map file: %s:", qPrintable(path));
|
||||
for (int i = 0; i < errors.size(); i++)
|
||||
qWarning("%s", qPrintable(errors.at(i)));
|
||||
}
|
||||
}
|
||||
|
||||
qWarning("%s:", qPrintable(path));
|
||||
for (int i = 0; i < errors.size(); i++)
|
||||
qWarning(" %s", qPrintable(errors.at(i)));
|
||||
|
||||
return map ? map : new InvalidMap(path, "Unknown file format");
|
||||
}
|
||||
|
||||
|
@ -16,7 +16,7 @@ WLDFile::WLDFile(const QString &fileName)
|
||||
QByteArray line(file.readLine(128).trimmed());
|
||||
val[i] = line.toDouble(&ok);
|
||||
if (!ok) {
|
||||
_errorString = line + ": invalid parameter";
|
||||
_errorString = QString("Parse error on line %1").arg(i+1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user