using System; using TDMS.Common; using TDMS.Externals; namespace TDMS { public class TDMSErrorException : Exception { public TDMSErrorException(string message) : base(message) { } public TDMSErrorException(string message, Exception e) : base(message, e) { } public TDMSErrorException(int errorCode, string message) : base(message) { ErrorCode = errorCode; } public TDMSErrorException(int errorCode, string message, Exception e) : base(message, e) { ErrorCode = errorCode; } public int ErrorCode { get; set; } public static void ThrowIfError(Error success, string message) { if(success < 0) { var errorDesc = DDC.GetErrorDescription((int)success); throw new TDMSErrorException((int)success, $"<{message}> [{success}]:{errorDesc}"); } } } }