relaxis: improve error handling some
This commit is contained in:
		
							parent
							
								
									551e30b098
								
							
						
					
					
						commit
						13dfb9b1f0
					
				
					 1 changed files with 38 additions and 30 deletions
				
			
		| 
						 | 
					@ -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;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue