自定义异常类但是不能打印出string的信息
头文件咱就不写了。。
EEvaException.cpp:
#include "EEvaException.h"
EEvaException::EEvaException(string errorMSG,int errorCode)
{
m_errorCode = errorCode;
m_errorMSG = errorMSG;
}
EEvaException::~EEvaException(void)
{
}
EEvaException::EEvaException(EEvaException &e)
{
this->m_errorCode = e.m_errorCode;
this->m_errorMSG = e.m_errorMSG;
}
int EEvaException::getErrorCode()
{
return m_errorCode;
}
string EEvaException::getErrorMSG()
{
return m_errorMSG;
}
调用处:
try
{
EEvaException eee(string("abcd"),12225);
throw &eee;
}
catch (EEvaException *e)
{
QMLogger::logError(QObject::tr("[%1] Error: [%2]").arg(S2Q(e->getErrorMSG())).arg(e->getErrorCode(),0,16));
}
try
{
EEvaException eee(string("abcd"),12225);
throw &eee;//退出时会调用~string(),然后调用~EEvaException(void)
}
catch (EEvaException *e)
{
QMLogger::logError(QObject::tr("[%1] Error: [%2]").arg(S2Q(e->getErrorMSG())).arg(e->getErrorCode(),0,16));
}
EEvaException eee(string("abcd"),12225);修改为
throw &eee;
EEvaException *pee = new EEvaException(string("abcd"),12225);
throw pee;