exception: add errno for internal errors
Assign errnos for InvalidEnumString and UnpackPropertyError.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I1ca283050a95846f9409554696880fc043570edf
diff --git a/include/sdbusplus/exception.hpp b/include/sdbusplus/exception.hpp
index 7099c79..90e735e 100644
--- a/include/sdbusplus/exception.hpp
+++ b/include/sdbusplus/exception.hpp
@@ -79,6 +79,7 @@
const char* name() const noexcept override;
const char* description() const noexcept override;
const char* what() const noexcept override;
+ int get_errno() const noexcept override;
};
/** Exception for when unpackProperties cannot find given property in provided
@@ -103,6 +104,7 @@
const char* name() const noexcept override;
const char* description() const noexcept override;
const char* what() const noexcept override;
+ int get_errno() const noexcept override;
const std::string propertyName;
const std::string reason;
diff --git a/src/exception.cpp b/src/exception.cpp
index 641659e..640454a 100644
--- a/src/exception.cpp
+++ b/src/exception.cpp
@@ -131,6 +131,11 @@
return errWhat;
}
+int InvalidEnumString::get_errno() const noexcept
+{
+ return EINVAL;
+}
+
UnpackPropertyError::UnpackPropertyError(std::string_view propertyName,
std::string_view reason) :
propertyName(propertyName),
@@ -152,6 +157,11 @@
return errWhat;
}
+int UnpackPropertyError::get_errno() const noexcept
+{
+ return EINVAL;
+}
+
} // namespace exception
} // namespace sdbusplus