// ErrMess.h - содержит определения ошибок и часть тела функции для 
// вывода сообъщений об ошибках (внутри оператора switch)


#ifndef _DEF_ER_FUNCT

#include <StepData.h>


// Макросы для обработки исключений
#define MY_THROW(err) throw(SaplErrorDescription((AplNetErrors)err,_T(__FILE__),_T(__DATE__),__LINE__,_T(""),SaplErrorDescriptionLevel_NetStepData,__APL_FUNC__));
#define MY_THROW_EX(err,descr) throw(SaplErrorDescription((AplNetErrors)err,_T(__FILE__),_T(__DATE__),__LINE__,descr,SaplErrorDescriptionLevel_NetStepData,__APL_FUNC__));

#define ERR_MESS_EX(id,text) case id:m_error_definition.Format(text);break;
#define THROW_IF(condition,err_code) if(condition){MY_THROW((AplNetErrors) err_code);}
#define THROW_IF_EX(condition,err_code,descr) if(condition){MY_THROW_EX((AplNetErrors) err_code,descr);}
#define THROW_CHECK(err_code) if(err_code!=APL_NET_OK){ if(m_AplTransport->m_description_serv_error==_T("")){MY_THROW((AplNetErrors) err_code);}else{MY_THROW_EX((AplNetErrors) err_code, m_AplTransport->m_description_serv_error);}}


#endif

