Beispiel #1
0
        private static string DecodeErrorMessage(OCREngineErrorCode errorCode, params object [] messageParams)
        {
            string msgTemplate;

            switch (errorCode)
            {
            case OCREngineErrorCode.OCREngineTemporaryUnavailable:
            {
                msgTemplate = "Библиотека оптического распознавания временно недоступна. Код ошибки: {0}";
                break;
            }

            case OCREngineErrorCode.InitializationError:
            {
                msgTemplate = "При инициализации библиотеки оптического распознавания возникла следующая ошибка: {0}";
                break;
            }

            case OCREngineErrorCode.InternalError:
            {
                msgTemplate = "Непредвиденная ошибка библиотеки оптического распознавания: {0}";
                break;
            }

            case OCREngineErrorCode.InputFileNotFound:
            {
                msgTemplate = "Входной файл не найден: {0}";
                break;
            }

            default:
            {
                throw new ArgumentException(string.Format("Unprocessed enum member: {0}", errorCode));
            }
            }
            var paramsToUse = new object[messageParams.Length];

            for (int iIdx = 0; iIdx < paramsToUse.Length; iIdx++)
            {
                var p = messageParams[iIdx];
                if (p is Exception)
                {
                    p = (p as Exception).Message;
                }
                paramsToUse[iIdx] = p;
            }

            return(string.Format(msgTemplate, paramsToUse));
        }
Beispiel #2
0
 public OCREngineException(OCREngineErrorCode errorCode, params object[] messageParams)
     : base(DecodeErrorMessage(errorCode, messageParams), DetectException(messageParams))
 {
     this.errorCode = errorCode;
 }