Once more, just because the player of "throwing guy" says "my character is going to throw that dagger" does NOT mean that it will happen first thing in the game. There is a resolution system for that, and to take into account the fact that he has the reflexes of a dumb slug, that he hesitated, that he thought about something else or that he was distracted by anything that a DM can imagine, which actually delayed his throw, allowing someone who completely came out of the blue to jump at him from 30 feet away, because that is not that far when you are distracted.
Once more, your very basic hypothesis is wrong, that if someone declares something, it's going to happen. The system TELLS YOU EXPLICITELY that the player only declares and that the DM describes the result, which might be completely different from what the player has declared because other players and other elements intervened.