diff --git a/src/maryam.cpp b/src/maryam.cpp index 55f8bc2..2845a2a 100644 --- a/src/maryam.cpp +++ b/src/maryam.cpp @@ -22,22 +22,29 @@ int main(int argc, char** argv) { for(int i = 3; i < argc; ++i) { - io::CSVReader<3, io::trim_chars<' '>, io::no_quote_escape<'\t'>> csvFile(argv[i]); - if(!csvFile.next_line()) - return 1; + try + { + io::CSVReader<3, io::trim_chars<' '>, io::no_quote_escape<'\t'>> csvFile(argv[i]); + if(!csvFile.next_line()) + return 1; - csvFile.read_header(io::ignore_extra_column, "Impedance Real part", "Impedance Imaginary Part", "Frequency [Hz]"); + csvFile.read_header(io::ignore_extra_column, "Impedance Real part", "Impedance Imaginary Part", "Frequency [Hz]"); - std::string frequency; - std::string real; - std::string imaginary; - ModelData data; - data.modelStr = eis::relaxisToEis(argv[2]); - data.id = std::to_string(i-3); - while(csvFile.read_row(real, imaginary, frequency)) - data.data.push_back(eis::DataPoint(std::complex(std::stod(real), std::stod(imaginary)), std::stod(frequency)*2*M_PI)); + std::string frequency; + std::string real; + std::string imaginary; + ModelData data; + data.modelStr = eis::relaxisToEis(argv[2]); + data.id = std::to_string(i-3); + while(csvFile.read_row(real, imaginary, frequency)) + data.data.push_back(eis::DataPoint(std::complex(std::stod(real), std::stod(imaginary)), std::stod(frequency)*2*M_PI)); - saveData("maryam", data, outDir, argv[i]); + saveData("maryam", data, outDir, argv[i]); + } + catch(const io::error::missing_column_in_header& err) + { + std::cerr<<"Could not read file "<