From 3deb434d8bd843dade5455ff1f202c2d136fa09f Mon Sep 17 00:00:00 2001 From: Steven Hahn <hahnse@ornl.gov> Date: Wed, 25 Mar 2020 21:43:52 -0400 Subject: [PATCH] use try/catch instead of if/else Signed-off-by: Steven Hahn <hahnse@ornl.gov> --- Framework/API/src/FileLoaderRegistry.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Framework/API/src/FileLoaderRegistry.cpp b/Framework/API/src/FileLoaderRegistry.cpp index e667c6b5a69..f97452a75e6 100644 --- a/Framework/API/src/FileLoaderRegistry.cpp +++ b/Framework/API/src/FileLoaderRegistry.cpp @@ -113,10 +113,11 @@ FileLoaderRegistryImpl::chooseLoader(const std::string &filename) const { m_log.debug() << filename << " looks like a Nexus file. Checking registered Nexus loaders\n"; - bestLoader = - searchForLoader<NexusHDF5Descriptor, IFileLoader<NexusHDF5Descriptor>>( - filename, m_names[Nexus], m_log); - if (!bestLoader) { + try { + bestLoader = searchForLoader<NexusHDF5Descriptor, + IFileLoader<NexusHDF5Descriptor>>( + filename, m_names[Nexus], m_log); + } catch (const std::invalid_argument &) { bestLoader = searchForLoader<NexusDescriptor, IFileLoader<NexusDescriptor>>( filename, m_names[Nexus], m_log); -- GitLab