From a483d41a1fb180352534c7e83272d41252620da9 Mon Sep 17 00:00:00 2001
From: gscalamera <graziano.scalamera@elettra.eu>
Date: Fri, 4 Aug 2017 10:49:07 +0200
Subject: [PATCH] added missing try/catch on connection to tango db when
 writing device properties

---
 src/AlarmHandler.cpp | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/AlarmHandler.cpp b/src/AlarmHandler.cpp
index 62ce2a7..13daae4 100644
--- a/src/AlarmHandler.cpp
+++ b/src/AlarmHandler.cpp
@@ -5125,17 +5125,27 @@ void AlarmHandler::put_signal_property()
 	Tango::DbData	data;
 	data.push_back(Tango::DbDatum("AlarmList"));
 	data[0]  <<  prop;
+	Tango::Database *db;
+	try
+	{
 #ifndef _USE_ELETTRA_DB_RW
-	Tango::Database *db = new Tango::Database();
+	db = new Tango::Database();
 #else
 	//save properties using host_rw e port_rw to connect to database
-	Tango::Database *db;
 	if(host_rw != "")
 		db = new Tango::Database(host_rw,port_rw);
 	else
 		db = new Tango::Database();
 	DEBUG_STREAM << __func__<<": connecting to db "<<host_rw<<":"<<port_rw;
 #endif
+	}
+	catch(Tango::DevFailed &e)
+	{
+		stringstream o;
+		o << " Error connecting to Tango DataBase='" << e.errors[0].desc << "'";
+		WARN_STREAM << __FUNCTION__<< o.str();
+		return;
+	}
 	try
 	{
 		DECLARE_TIME_VAR	t0, t1;
-- 
GitLab