Commit 9434ae92 authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Use try/catch clauses around file load operations

parent 8bb46203
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -74,9 +74,21 @@ int main(int argc, char **argv) {
    hdf5_file = string(argv[3]);
  }
  ScattererConfiguration *a, *b, *c;
  a = ScattererConfiguration::from_dedfb(dedfb_file);
  b = ScattererConfiguration::from_binary(legacy_file);
  c = ScattererConfiguration::from_binary(hdf5_file, "HDF5");
  try { a = ScattererConfiguration::from_dedfb(dedfb_file); }
  catch (...) {
    printf("Failed to open legacy configuration file.\n");
    return 2;
  }
  try { b = ScattererConfiguration::from_binary(legacy_file); }
  catch (...) {
    printf("Failed to open legacy binary file.\n");
    return 20;
  }
  try { c = ScattererConfiguration::from_binary(hdf5_file, "HDF5"); }
  catch (...) {
    printf("Failed to open HDF5 configuration file.\n");
    return 200;
  }
  if (*a == *b) printf("Configuration objects a and b are equal.\n");
  else {
    printf("Configuration objects a and b are different.\n");