Example #1
0
        //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);
        }
Example #2
0
        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");
            }
        }