The DM should only say "hits your AC of 15" in a party where no one can change it. In a party with "Shield" or "Silvery Barbs" the DM should instead say "Y is attacking Player Z. They have an X on the d20. Do you have any Reaction to that attack?" It is up to the players to guess Y's bonus to hit, decide if the attack will hit Z, and chose to cast "Shield" or "Silvery Barbs" or another similar spell.
This also applies when PC's are attacking Monsters with these spells, except when the monsters are smart enough, and Vecna more than qualifies, to know anyway.
Shield allows the player to KNOW whether the attack hit or not - that's one reason it's considered so good. It's NEVER wasted on a miss (now, per RAW, you may cast it and still get hit). That's why I referenced it as an "after the fact" reaction. It's never used unless the relevant attack was already successful.