diff --git a/sdbusplus/bus.hpp.in b/sdbusplus/bus.hpp.in
index 11bacd3..1f13a5e 100644
--- a/sdbusplus/bus.hpp.in
+++ b/sdbusplus/bus.hpp.in
@@ -203,8 +203,12 @@
                          const char* interf, const char* method)
     {
         sd_bus_message* m = nullptr;
-        _intf->sd_bus_message_new_method_call(_bus.get(), &m, service, objpath,
-                                              interf, method);
+        int r = _intf->sd_bus_message_new_method_call(_bus.get(), &m, service,
+                                                      objpath, interf, method);
+        if (r < 0)
+        {
+            throw exception::SdBusError(-r, "sd_bus_message_new_method_call");
+        }
 
         return message::message(m, _intf, std::false_type());
     }
@@ -220,8 +224,12 @@
     auto new_signal(const char* objpath, const char* interf, const char* member)
     {
         sd_bus_message* m = nullptr;
-        _intf->sd_bus_message_new_signal(_bus.get(), &m, objpath, interf,
-                                         member);
+        int r = _intf->sd_bus_message_new_signal(_bus.get(), &m, objpath,
+                                                 interf, member);
+        if (r < 0)
+        {
+            throw exception::SdBusError(-r, "sd_bus_message_new_signal");
+        }
 
         return message::message(m, _intf, std::false_type());
     }
