Skip to content

Commit

Permalink
Use new functionality to give a more precise error
Browse files Browse the repository at this point in the history
  • Loading branch information
tmadlener committed Nov 14, 2023
1 parent b876d82 commit bdde39a
Showing 1 changed file with 15 additions and 2 deletions.
17 changes: 15 additions & 2 deletions k4FWCore/components/PodioOutput.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,21 @@ StatusCode PodioOutput::execute() {
} else {
try {
m_framewriter->writeFrame(frame, "events", m_collection_names_to_write);
} catch (std::runtime_error& e) {
error() << "Could not write event: " << e.what() << endmsg;
} catch (std::runtime_error&) {
// In this error message we are only interested in the ones that are
// missing, since only a missing collection can trigger the exception
// here. Additional collections that are present in the Frame are not
// necessarily an issue here, because we might just be configured to not
// write all of them
const auto& [missing, _] = m_framewriter->checkConsistency(frame.getAvailableCollections(), "events");
error() << "Could not write event, because the following collections are not present: ";
std::string sep = "";
for (const auto& n : missing) {
error() << sep << n;
sep = ", ";
}
error() << endmsg;

return StatusCode::FAILURE;
}
}
Expand Down

0 comments on commit bdde39a

Please sign in to comment.