//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); }
public void SetErrCall(ERR_RESULT err) { if (ActionCallback == null) { return; } ActionCallback(err); }
static public ERR_RESULT SetErrResult_UserMessage(Exception err, Int16?InnerErr = null, String msg = null) { ERR_RESULT result = new ERR_RESULT(); String[] ErrTrace = new String[255]; ExtractErrTrace(err.StackTrace, ref ErrTrace); result = inner_SetErrInform(err, result, ErrTrace, InnerErr, msg); if (result.errCode != 0) { return(result); } return(result); }
static public ERR_RESULT SetErrResult(Exception err, Int16?InnerErr = null) { ERR_RESULT result = new ERR_RESULT(); String[] ErrTrace = new String[255]; ExtractErrTrace(err.StackTrace, ref ErrTrace); int pos = ErrTrace.Length; String ErrType = err.GetType().ToString(); result = inner_SetErrInform(err, result, ErrTrace, InnerErr); if (result.errCode != 0) { return(result); } return(result); }