#include "stdafx.h" #include "LogInfoCls.h" std::string errorCode2errInfo(ErrorCode e) { switch (e) { _CASE_STR(SUCCESS); _CASE_STR(VIRTUALABSTRACT); _CASE_STR(FILENOFOUND); _CASE_STR(OrbitNodeNotEnough); _CASE_STR(XYDataPointNotEqual); _CASE_STR(FILEOPENFAIL ); _CASE_STR(XMLPARSEFAIL ); _CASE_STR(XMLNOTFOUNDElEMENT ); _CASE_STR(FILEPATHISEMPTY); _CASE_STR(FOLDER_NOT_EXIST); _CASE_STR(FILE_NOT_EXIST); _CASE_STR(FIND_ID_ERROR); _CASE_STR(INSERT_ID_ERROR); //GSL 1xx _CASE_STR(Error_GSL_FAILURE ); _CASE_STR(Error_GSL_CONTINUE ); _CASE_STR(Error_GSL_EDOM ); _CASE_STR(Error_GSL_ERANGE ); _CASE_STR(Error_GSL_EFAULT ); _CASE_STR(Error_GSL_EINVAL ); _CASE_STR(Error_GSL_EFAILED ); _CASE_STR(Error_GSL_EFACTOR ); _CASE_STR(Error_GSL_ESANITY ); _CASE_STR(Error_GSL_ENOMEM ); _CASE_STR(Error_GSL_EBADFUNC ); _CASE_STR(Error_GSL_ERUNAWAY ); _CASE_STR(Error_GSL_EMAXITER ); _CASE_STR(Error_GSL_EZERODIV ); _CASE_STR(Error_GSL_EBADTOL ); _CASE_STR(Error_GSL_ETOL ); _CASE_STR(Error_GSL_EUNDRFLW ); _CASE_STR(Error_GSL_EOVRFLW ); _CASE_STR(Error_GSL_ELOSS ); _CASE_STR(Error_GSL_EROUND ); _CASE_STR(Error_GSL_EBADLEN ); _CASE_STR(Error_GSL_ENOTSQR ); _CASE_STR(Error_GSL_ESING ); _CASE_STR(Error_GSL_EDIVERGE ); _CASE_STR(Error_GSL_EUNSUP ); _CASE_STR(Error_GSL_EUNIMPL ); _CASE_STR(Error_GSL_ECACHE ); _CASE_STR(Error_GSL_ETABLE ); _CASE_STR(Error_GSL_ENOPROG ); _CASE_STR(Error_GSL_ENOPROGJ ); _CASE_STR(Error_GSL_ETOLF ); _CASE_STR(Error_GSL_ETOLX ); _CASE_STR(Error_GSL_ETOLG ); _CASE_STR(Error_GSL_EOF ); // RTPC _CASE_STR(RTPC_PARAMSISEMPTY); _CASE_STR(ECHO_L0DATA_NOTOPEN); _CASE_STR(ECHO_L0DATA_ROW_COL_NOEQUAL); _CASE_STR(ECHO_L0DATA_PRFIDXOUTRANGE); _CASE_STR(ECHO_L0DATA_GPSFILEFORMATERROR); _CASE_STR(ECHO_L0DATA_ECHOFILEFORMATERROR); _CASE_STR(ECHO_L0DATA_ECHOFILENOTOPEN); _CASE_STR(ECHO_L0DATA_GPSFILEFNOTOPEN); _CASE_STR(ECHO_L0DATA_XMLFILENOTOPEN); _CASE_STR(OUTOFRANGE); _CASE_STR(ECHO_L0DATA_XMLNAMEERROR); // _CASE_STR(TBP_L0OPENFAIL); // _CASE_STR(IMAGE_L1DATA_XMLNAMEERROR); _CASE_STR(IMAGE_L1DATA_XMLNAMEOPENERROR); default: break; } return "UNKNOW_EVENT!"; } ErrorCode GSLState2ErrorCode(int gslState) { switch (gslState) { case 0: return ErrorCode::SUCCESS; break; case -1: return ErrorCode::Error_GSL_FAILURE; break; case -2: return ErrorCode::Error_GSL_CONTINUE; break; case 1: return ErrorCode::Error_GSL_EDOM; // 输入域错误,例如 sqrt(-1) break; case 2: return ErrorCode::Error_GSL_ERANGE; // 输出范围错误,例如 exp(1e100) break; case 3: return ErrorCode::Error_GSL_EFAULT; // 无效指针 break; case 4: return ErrorCode::Error_GSL_EINVAL; // 用户提供的无效参数 break; case 5: return ErrorCode::Error_GSL_EFAILED; // 通用失败 break; case 6: return ErrorCode::Error_GSL_EFACTOR; // 因子分解失败 break; case 7: return ErrorCode::Error_GSL_ESANITY; // 理智检查失败,通常不应该发生 break; case 8: return ErrorCode::Error_GSL_ENOMEM; // 内存分配失败 break; case 9: return ErrorCode::Error_GSL_EBADFUNC; // 用户提供的函数存在问题 break; case 10: return ErrorCode::Error_GSL_ERUNAWAY; // 迭代过程失控 break; case 11: return ErrorCode::Error_GSL_EMAXITER; // 超过最大迭代次数 break; case 12: return ErrorCode::Error_GSL_EZERODIV; // 尝试进行零除 break; case 13: return ErrorCode::Error_GSL_EBADTOL; // 用户指定的容忍度无效 break; case 14: return ErrorCode::Error_GSL_ETOL; // 未能达到指定的容忍度 break; case 15: return ErrorCode::Error_GSL_EUNDRFLW; // 下溢 break; case 16: return ErrorCode::Error_GSL_EOVRFLW; // 上溢 break; case 17: return ErrorCode::Error_GSL_ELOSS; // 精度损失 break; case 18: return ErrorCode::Error_GSL_EROUND; // 因舍入错误而失败 break; case 19: return ErrorCode::Error_GSL_EBADLEN; // 矩阵或向量长度不匹配 break; case 20: return ErrorCode::Error_GSL_ENOTSQR; // 矩阵不是方阵 break; case 21: return ErrorCode::Error_GSL_ESING; // 检测到明显的奇异性 break; case 22: return ErrorCode::Error_GSL_EDIVERGE; // 积分或级数发散 break; case 23: return ErrorCode::Error_GSL_EUNSUP; // 请求的特性不受硬件支持 break; case 24: return ErrorCode::Error_GSL_EUNIMPL; // 请求的特性尚未实现 break; case 25: return ErrorCode::Error_GSL_ECACHE; // 超过缓存限制 break; case 26: return ErrorCode::Error_GSL_ETABLE; // 超过表限制 break; case 27: return ErrorCode::Error_GSL_ENOPROG; // 迭代未能朝向解决方案取得进展 break; case 28: return ErrorCode::Error_GSL_ENOPROGJ; // 雅可比评估未能改善解决方案 break; case 29: return ErrorCode::Error_GSL_ETOLF; // 无法达到 F 的指定容忍度 break; case 30: return ErrorCode::Error_GSL_ETOLX; // 无法达到 X 的指定容忍度 break; case 31: return ErrorCode::Error_GSL_ETOLG; // 无法达到梯度的指定容忍度 break; case 32: return ErrorCode::Error_GSL_EOF; // 文件结束 break; default: return ErrorCode::Error_GSL_FAILURE; // 未知错误,返回一般失败 break; } }