From e5b6deddece51f8cffcd2602b8a4c98e5f97a1f5 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Mon, 10 Feb 2025 08:16:02 +0100 Subject: [PATCH] Throw exception if category string is invalid --- .../RiuSummaryQuantityNameInfoProvider.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/ApplicationLibCode/UserInterface/RiuSummaryQuantityNameInfoProvider.cpp b/ApplicationLibCode/UserInterface/RiuSummaryQuantityNameInfoProvider.cpp index e460bca8a5..8d705833a5 100644 --- a/ApplicationLibCode/UserInterface/RiuSummaryQuantityNameInfoProvider.cpp +++ b/ApplicationLibCode/UserInterface/RiuSummaryQuantityNameInfoProvider.cpp @@ -223,5 +223,15 @@ std::string RiuSummaryQuantityNameInfoProvider::stringFromEnum( RifEclipseSummar //-------------------------------------------------------------------------------------------------- RifEclipseSummaryAddressDefines::SummaryCategory RiuSummaryQuantityNameInfoProvider::enumFromString( const std::string& category ) { - return caf::AppEnum::fromText( QString::fromStdString( category ) ); + auto qstring = QString::fromStdString( category ); + + auto valid = caf::AppEnum::isValid( qstring ); + if ( !valid ) + { + // The category strings in keywords*.json must be mapped to the enum values in the enum definition + // Ensure that the strings in the json file are correct in /ApplicationLibCode/Application/Resources/keyword-description + throw std::runtime_error( "Invalid category string: " + category ); + } + + return caf::AppEnum::fromText( qstring ); }