Beispiel #1
0
        /// <summary>
        /// Throw exception from error handle and error code.
        /// </summary>
        /// <param name="errorCode">error code</param>
        /// <exception cref="ArgumentOutOfRangeException">argument range exception</exception>
        /// <exception cref="ArgumentException">argument exception</exception>
        /// <exception cref="InsufficientMemoryException">memory full exception</exception>
        /// <exception cref="InvalidOperationException">illegal exception</exception>
        public void ThrowError(CfdErrorCode errorCode)
        {
            if ((errorCode == CfdErrorCode.Success) || disposed)
            {
                return;
            }

            string errorMessage;
            var    ret = CCommon.CfdGetLastErrorMessage(handle, out IntPtr messageAddress);

            if (ret == CfdErrorCode.Success)
            {
                string message = CCommon.ConvertToString(messageAddress);
                errorMessage = $"CFD error[{errorCode}] message:{message}";
            }
            else
            {
                errorMessage = $"CFD error[{errorCode}]";
            }
            CfdCommon.ThrowError(errorCode, errorMessage);
        }