Remove triple try/catch pattern

This commit is contained in:
Mathew-D
2026-05-10 20:54:42 -04:00
parent 9a80da1e6e
commit abdae5fb08
+4 -8
View File
@@ -192,18 +192,14 @@ namespace {
}
bool hasInt32ChildrenInVariant(const sdbus::Variant& value) {
try {
if (value.containsValueOfType<std::vector<std::int32_t>>()) {
return !value.get<std::vector<std::int32_t>>().empty();
} catch (const sdbus::Error&) {
}
try {
if (value.containsValueOfType<std::vector<std::uint32_t>>()) {
return !value.get<std::vector<std::uint32_t>>().empty();
} catch (const sdbus::Error&) {
}
try {
const auto variants = value.get<std::vector<sdbus::Variant>>();
return !variants.empty();
} catch (const sdbus::Error&) {
if (value.containsValueOfType<std::vector<sdbus::Variant>>()) {
return !value.get<std::vector<sdbus::Variant>>().empty();
}
return false;
}