relaxis: improve error handling some

This commit is contained in:
Carl Philipp Klemm
2023-02-10 14:26:55 +01:00
parent 551e30b098
commit 13dfb9b1f0

View File

@ -36,47 +36,55 @@ int main(int argc, char** argv)
if(!checkDir(outDir)) if(!checkDir(outDir))
return 1; return 1;
int arg = 1; for(int arg = 1; arg < argc; ++arg)
try
{ {
for(; arg < argc; ++arg) if(ignoreArgs.find(arg) != ignoreArgs.end())
continue;
rlx::File file(argv[arg]);
std::cout<<"Loaded "<<argv[arg]<<" file has "<<file.getProjectCount()<<" project(s)\n";
for(size_t i = 0; i < file.getProjectCount(); ++i)
{ {
if(ignoreArgs.find(arg) != ignoreArgs.end()) try
continue;
rlx::File file(argv[arg]);
std::cout<<"Loaded "<<argv[arg]<<" file has "<<file.getProjectCount()<<" project(s)\n";
for(size_t i = 0; i < file.getProjectCount(); ++i)
{ {
rlx::Project project = file.getProject(i); rlx::Project project = file.getProject(i);
std::cout<<"Project "<<i<<" has "<<project.getSpectraCount()<<" spectra\n"; std::cout<<"Project "<<i<<" has "<<project.getSpectraCount()<<" spectra\n";
for(size_t j = 0; j < project.getSpectraCount(); ++j) for(size_t j = 0; j < project.getSpectraCount(); ++j)
{ {
rlx::Spectra spectra = project.getSpectra(j); try
if(!spectra.fitted)
{ {
std::cout<<"skipping spectra "<<spectra.id<<" as this spectra is not fitted\n"; rlx::Spectra spectra = project.getSpectra(j);
continue; if(!spectra.fitted)
} {
if(spectra.model.empty()) std::cout<<"skipping spectra "<<spectra.id<<" as this spectra is not fitted\n";
{ continue;
std::cout<<"skipping spectra "<<spectra.id<<" as this spectra has no model\n"; }
continue; if(spectra.model.empty())
} {
std::cout<<"skipping spectra "<<spectra.id<<" as this spectra has no model\n";
continue;
}
ModelData data; ModelData data;
data.data = spectra.data; data.data = spectra.data;
data.modelStr = spectra.model; data.modelStr = spectra.model;
data.id = std::to_string(spectra.id); data.id = std::to_string(spectra.id);
saveData("relaxis", data, outDir, argv[arg]); saveData("relaxis", data, outDir, argv[arg]);
}
catch(const eis::file_error& err)
{
std::cerr<<"error spectra " <<i<<" from file "<<argv[arg]<<" librelaxisloaderpp: "<<err.what()<<std::endl;
continue;
}
} }
} }
catch(const eis::file_error& err)
{
std::cerr<<"error reading file "<<argv[arg]<<" librelaxisloaderpp: "<<err.what()<<std::endl;
continue;
}
} }
} }
catch(const eis::file_error& err) return 0;
{
std::cerr<<"error reading file "<<argv[arg]<<" librelaxisloaderpp: "<<err.what()<<std::endl;
return 1;
}
} }