Well, my at-the-time two year old son threw a vhs and hit a seven year old visitor squarely between the eyes. That was really bad. Thankfully he grew out of the throwing stage. What we do is make it clear that throwing toys at people is unacceptable, it hurts. After we knew he knew this kind of behavior (including biting and hitting, etc) is wrong, he goes in the time out chair when he does stuff like that. Your son seems a little young for that, so in addition to telling him what he can throw and can't, I might put away some of the more pointy & hard toys when guests are over.
But really, anyone who has kids has been there and should be more understanding. I wouldn't encourage throwing toys at people, but don't stress out about it too much (and keep those vhs tapes out of the way!) he'll grow out of it.