hello all , im having a problem throwing corba system exception
the following is my code
#include <createPlan.h>
#include <writeLog.h>
bool createPlanFunc(const schedule_Mgmt::planData & newPlanData1) ACE_THROW_SPEC ((
CORBA::SystemException
, schedule_Mgmt::alreadyExists
, schedule_Mgmt::unknownErr
))
{
try
{
ofstream outfile("/cc/smc3/ss_pool4/elem_level_mgmt/tools/Schedule_Mgmt/Schedule_Mgmt/src/scheduleLog.txt",ios::app);
bool repeatdelay_bool;
bool notonweekend_bool;
bool validity_bool;
const char* prepeatdelay;
const char* pnotonweekend;
const char* pvalidity;
repeatdelay_bool = (CORBA::Boolean) newPlanData1.repeatDelay;
notonweekend_bool = (CORBA::Boolean) newPlanData1.notOnWeekend;
validity_bool = (CORBA::Boolean) newPlanData1.validity;
if (repeatdelay_bool == 1)
{
prepeatdelay = "1";
}
else
{
prepeatdelay = "0";
}
if (notonweekend_bool == 1)
{
pnotonweekend = "1";
}
else
{
pnotonweekend = "0";
}
if (validity_bool == 1)
{
pvalidity = "1";
}
else
{
pvalidity = "0";
}
const char* pname = newPlanData1.planName;
const char* pdesc = newPlanData1.planDescription;
const char* pexec = newPlanData1.scriptExec;
const char* pstartdate = newPlanData1.startDate;
const char* pstartime = newPlanData1.startTime;
const char* pstopdate = newPlanData1.stopDate;
const char* pstoptime = newPlanData1.stopTime;
// const char* pdelayint = newPlanData1.delayInt;
const char* ptemptime = newPlanData1.startTime;
const char* ptempdate = newPlanData1.startDate;
const string domainnames = "PLANNAME,PLANDESCRIPTION,SCRIPTEXEC,STARTDATE,STARTTIME,STOPDATE,STOPTIME,DELAYINTERVAL,REPEATDELAY,NOTONWEEKEND,ACTIVATE,TEMPTIME,TEMPDATE";
char plan[250] = {'\0'};
strcat(plan,"'");
strcat(plan,pname);
strcat(plan,"'");
strcat(plan,",");
strcat(plan,"'");
strcat(plan,pdesc);
strcat(plan,"'");
strcat(plan,",");
strcat(plan,"'");
strcat(plan,pexec);
strcat(plan,"'");
strcat(plan,",");
strcat(plan,"'");
strcat(plan,pstartdate);
strcat(plan,"'");
strcat(plan,",");
strcat(plan,"'");
strcat(plan,pstartime);
strcat(plan,"'");
strcat(plan,",");
strcat(plan,"'");
strcat(plan,pstopdate);
strcat(plan,"'");
strcat(plan,",");
strcat(plan,"'");
strcat(plan,pstoptime);
strcat(plan,"'");
strcat(plan,",");
strcat(plan,"'");
strcat(plan,"00:02:01");
strcat(plan,"'");
strcat(plan,",");
strcat(plan,"'");
strcat(plan,prepeatdelay);
strcat(plan,"'");
strcat(plan,",");
strcat(plan,"'");
strcat(plan,pnotonweekend);
strcat(plan,"'");
strcat(plan,",");
strcat(plan,"'");
strcat(plan,pvalidity);
strcat(plan,"'");
strcat(plan,",");
strcat(plan,"'");
strcat(plan,pstartime);
strcat(plan,"'");
strcat(plan,",");
strcat(plan,"'");
strcat(plan,ptempdate);
strcat(plan,"'");
const string splan = (const string) plan;
outfile << splan << endl;
outfile.close();
//cout<<"CREATE PLAN CALLED";
//LogItf::setProcessName("Schedule_Mgmt");
// Initialise Session using Session Pool
Session::initSessionPool("BOSS", "E_SESSION_EIR", 2, false, true);
// Acquire session while initializing the Session.
Session * schedSession1 ;
schedSession1 = new Session();
DbSchedule * objschedule ;
objschedule = new DbSchedule(schedSession1, "Schedule_mgmt");
objschedule->StartTransaction(10);
objschedule->GetTableDescription();
//Insert the plan data to the Database.
// const string splan = "'plan55','desc54','/home/users/venketas/C++/SCHMGMTClient/output/images/application.JPG','15/04/2009','17:15','15/04/2009','17:15','00:02:01','1','1','1','17:15','15/04/2009'";
string test;
test = objschedule->InsertTuple(domainnames,splan);
//Commit Session.
schedSession1->commitSession();
//char info[50] = "PLAN CREATED";
// writeLog(NULL,info);
// Deletes Session using Session Pool
SessionPool::deletePool();
//ofstream outfile("/cc/smc3/ss_pool4/elem_level_mgmt/tools/Schedule_Mgmt/Schedule_Mgmt/src/scheduleLog.txt",ios::app);
//outfile << "vishytest" << endl;
//outfile << test << endl;
//outfile.close();
if (test == "success")
{
return true;
}
else
{
return false;
}
throw (CORBA::SystemException);
throw (schedule_Mgmt::alreadyExists);
}
catch(...)
{
char error[50] = "ERROR : UNKNOWN ERROR";
writeLog(NULL,error);
}
}
i get the following error message :
schedule_Mgmt is the name of the module in the idl
alreadyExists is the name of the exception
Error 24: "createPlan.cpp", '<identifier>' expected instead of
'SystemException'.
throw (CORBA::SystemException);
^^^^^^^^^^^^^^^
Error 24: "createPlan.cpp", '<identifier>' expected instead of
'alreadyExists'.
throw (schedule_Mgmt::alreadyExists);
^^^^^^^^^^^^^
im not sure where im wrong , any suggestions ?
thanks