//rjm8282 static private ERR_RESULT inner_SetErrInform(Exception err, ERR_RESULT result, string[] ErrTrace, Int16?InnerErr = null, String msg = null) { int pos = ErrTrace.Length; String[] errType = err.GetType().ToString().Split('.'); ErrProcessOrigin ep = err as ErrProcessOrigin; if (ep == null) //예상외의 오류 { ep = new ErrProcess(-10); // 재정의 result.funcName = ErrTrace[pos - 2]; // 호출된 함수 Name result.errTrace = ErrTrace[pos - 1]; // 에러 위치 result.message = inner_GetFactoryMsg(ep); //ep.GetErrMessage(); result.Inner_errCode = InnerErr; result.errCode = ep.ErrCode; } else // 정의되어있는 오류 { result.funcName = ErrTrace[pos - 2]; // 호출된 함수 Name result.errTrace = ErrTrace[pos - 1]; // 에러 위치 result.message = inner_GetFactoryMsg(ep); result.Inner_errCode = InnerErr; result.errCode = ep.ErrCode; } return(result); }
private static String inner_GetFactoryMsg(ErrProcessOrigin ep) { //String[] errType = ep.GetType().ToString().Split('.'); //ep 상속된 클래스 비교 if (ep is ErrProcess) { return(((ErrProcess)ep).GetErrMessage()); } else if (ep is ErrProcessXml) { return(((ErrProcessXml)ep).GetErrMessage()); } else { return("Func:inner_GetFactoryMsg ErrCode -2"); } }