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); int pos = ErrTrace.Length; ErrProcess ep = err as ErrProcess; //에러코드와 그에 따른 메세지를 받기위해 if (ep == null) //예상외의 오류 { ep = new ErrProcess(-10); // 재정의 result.funcName = ErrTrace[pos - 2]; // 호출된 함수 Name result.errTrace = ErrTrace[pos - 1]; // 에러 위치 result.message = msg; result.Inner_errCode = InnerErr; result.errCode = ep.ErrCode; } else // 정의되어있는 오류 { result.funcName = ErrTrace[pos - 2]; // 호출된 함수 Name result.errTrace = ErrTrace[pos - 1]; // 에러 위치 result.message = msg; result.Inner_errCode = InnerErr; result.errCode = ep.ErrCode; } return(result); }
/* * public void SetErrCall(Int16 errCode) * { * m_ErrCode = ErrCode; * * ERR_RESULT result = new ERR_RESULT(); * result.errCode = errCode; * result.message = GetErrMessage(); * * if (ActionCallback == null) * return; * * ActionCallback(result); * }*/ public void SetErrCall(ERR_RESULT err) { if (ActionCallback == null) { return; } ActionCallback(err); }