One of my players decided, on the fly, to throw a potion of healing at an ally as they ran past. I had nothing planned so I improvised this rule
A potion of healing has a thrown range of (20/60). If thrown the receiver must use their reaction to make a DC 15 dexterity saving throw to catch the potion. On a failed save the potion shatters on the ground and is unusable, on a critical fail the receiver takes 1d4 slashing damage as the glass shatters in their hand and is unusable.
Should I make the thrower roll a ranged attack roll? What should I do if they threw it at 30 feet? Would I just give the DEX save disadvantage? Also is the DC too high, or too low? Does the 1d4 slashing on a crit fail work?
Just generally is there anything I should change about this or does this work well?