internal static Exception AsException(this ScreenMirroringErrorCode err, string message) { Debug.Assert(err != ScreenMirroringErrorCode.None); switch (err) { case ScreenMirroringErrorCode.InvalidParameter: return(new ArgumentException(message)); case ScreenMirroringErrorCode.OutOfMemory: return(new OutOfMemoryException(message)); case ScreenMirroringErrorCode.PermissionDenied: return(new UnauthorizedAccessException(message)); case ScreenMirroringErrorCode.NotSupported: return(new NotSupportedException(message)); case ScreenMirroringErrorCode.InvalidOperation: return(new InvalidOperationException(message)); case ScreenMirroringErrorCode.ConnectionTimeOut: return(new TimeoutException(message)); default: return(new InvalidOperationException($"Unknown error : {err.ToString()}.")); } }
internal static void ThrowIfError(this ScreenMirroringErrorCode err, string message) { if (err == ScreenMirroringErrorCode.None) { return; } throw err.AsException(message); }