⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exception.cpp

📁 oci是操作oracle数据库的接口,已对相应的接口用C++进行的封装成类,以方便使用
💻 CPP
字号:
/************************************************
  Copyright by 97Dept. of Wholewise, 2001-09-01
  File Name: exception.cpp
  Created Date: 2001-10-15
  Author: Yeyh
  Version: 0.0.0.02
  Create Version: 0.0.0.01
  Last Version Date: 2001-10-24
  Create Version Date: 2001-10-24
2)  Modified By Name of Programmer
Date YYYY-MM-DD
Function Added:
Function Removed:
Function Changed:
Other changes:
......
************************************************/
#include <string.h>
#include <stdio.h>
#include <exception.h>

TException::TException(const char* err)
{
  int nLen;
  nLen = strlen( err );
  if( nLen >= 1024 )
    nLen = 1024;
  strncpy(errMsg,err,nLen);
  errMsg[nLen] = '\0';
};

TException::TException()
{
  char *err = "fatal error:system undefine exception error";
  strcpy(errMsg,err);
  errMsg[strlen(err)] = '\0';
};

TException::~TException()
{
};
char* TException::GetErrMsg() const
{
  return( (char*)errMsg );
};

TTUXException::TTUXException(const char* cat,MCCI_TUXEDO_FML_ERROR errInfo, WWFLDID fieldid)
{
  int nLen;
  char *nErr;
  nLen = strlen( cat );
  if( nLen > 15 )
    nLen = 15;
  strncpy(tuxCat,cat,nLen);
  tuxCat[nLen] = '\0';
  nLen = strlen(errInfo.errstr);
  if( nLen > 400 )
    nLen = 400;
  nErr = new char[nLen+1];
  strncpy(nErr,errInfo.errstr,nLen);
  nErr[nLen] = '\0';
  memset(tuxErrMsg,'\0',sizeof(tuxErrMsg));
  tuxErrNo = errInfo.ierrno;
  tuxFldID = fieldid;
  memset(tuxFldName,'\0',sizeof(tuxFldName));
  if( wwfname(tuxFldID)!=NULL )
  {
    strcpy(tuxFldName,wwfname(tuxFldID));
  }
  else
  {
    sprintf(tuxFldName,"%lu",tuxFldID);
  };
  sprintf(tuxErrMsg,"%s[%d]:(%s)%s",tuxCat,tuxErrNo,tuxFldName,nErr);
  delete []nErr;
};

TTUXException::TTUXException(const char* cat,int errNo,const char* err, WWFLDID fieldid)
{
  int nLen;
  char *nErr;
  nLen = strlen( cat );
  if( nLen > 15 )
    nLen = 15;
  strncpy(tuxCat,cat,nLen);
  tuxCat[nLen] = '\0';

  nLen = strlen( err );
  if( nLen > 400 )
    nLen = 400;
  nErr = new char[nLen+1];
  strncpy(nErr,err,nLen);
  nErr[nLen] = '\0';
  tuxErrNo = errNo;
  tuxFldID = fieldid;
  memset(tuxFldName,'\0',sizeof(tuxFldName));
  if( wwfname(tuxFldID)!=NULL )
  {
    strcpy(tuxFldName,wwfname(tuxFldID));
  }
  else
  {
    sprintf(tuxFldName,"%lu",tuxFldID);
  };
  memset(tuxErrMsg,'\0',sizeof(tuxErrMsg));
  sprintf(tuxErrMsg,"%s[%d]:(%s)%s",tuxCat,tuxErrNo,tuxFldName,nErr);
  delete []nErr;
};

TTUXException::TTUXException(const char* cat,MCCI_TUXEDO_ERROR errInfo)
{
  int nLen;
  char *nErr;
  nLen = strlen( cat );
  if( nLen > 15 )
    nLen = 15;
  strncpy(tuxCat,cat,nLen);
  tuxCat[nLen] = '\0';
  
  nLen = strlen(errInfo.errstr);
  if( nLen > 400 )
    nLen = 400;
  nErr = new char[nLen+1];
  strncpy(nErr,errInfo.errstr,nLen);
  nErr[nLen] = '\0';
  tuxErrNo = errInfo.ierrno;
  memset(tuxErrMsg,'\0',sizeof(tuxErrMsg));
  sprintf(tuxErrMsg,"%s[%d]:%s",tuxCat,tuxErrNo,nErr);
  delete []nErr;
};

TTUXException::~TTUXException()
{
};

char* TTUXException::GetErrMsg() const
{
  return( (char*)tuxErrMsg );
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -