diff --git a/examples/hello/datamanReader/helloDataManReader.cpp b/examples/hello/datamanReader/helloDataManReader.cpp index c830d16f4a49cfebc4040aa616a45c2a73440405..7dc984af37870f05187ff1fbd073a226b11f5d16 100644 --- a/examples/hello/datamanReader/helloDataManReader.cpp +++ b/examples/hello/datamanReader/helloDataManReader.cpp @@ -42,13 +42,13 @@ int main(int argc, char *argv[]) adios::ADIOS adios(adios::DebugON); adios::IO &dataManIO = adios.DeclareIO("WAN"); - dataManIO.SetEngine("DataMan"); + dataManIO.SetEngine("DataManReader"); dataManIO.SetParameters("real_time=yes", "method_type=stream", "method=dump"); auto dataManReader = dataManIO.Open("myDoubles.bp", adios::OpenMode::Read); - if (dataManReader == nullptr) + if (!dataManReader) { throw std::ios_base::failure( "ERROR: failed to create DataMan I/O engine at Open\n"); diff --git a/source/adios2/core/IO.cpp b/source/adios2/core/IO.cpp index 8d3339a33965cf4b6e9ee0af87379169347c6850..a9753acc3aa3a178605d8eb2ef2eadb06b7b791e 100644 --- a/source/adios2/core/IO.cpp +++ b/source/adios2/core/IO.cpp @@ -198,6 +198,17 @@ std::shared_ptr<Engine> IO::Open(const std::string &name, "HDF5 library, can't use HDF5\n"); #endif } + else + { + if (m_DebugMode) + { + throw std::invalid_argument("ERROR: engine " + m_EngineType + + " not supported, IO SetEngine must add " + "a supported engine, in call to " + "Open\n"); + } + } + return engine; }