Hi S.,
I have a suggestion that's worth giving a try. Why don't you designate a special place he can throw things...like his room or in the backyard or park. Tell him that you will take him to his special place and he can throw as much as he wants but that's the only place he can throw things.
I know a 2 1/2 year old is going through a stage where he is trying to express himself as an individual...not as your baby anymore. But he is old enough to learn appropriate behavior. Make a big deal out of it when and after you take him to his special place. Don't play the retrieval game with him. Simply pick up what he has thrown and put them out of his reach. He'll soon learn that he'll have different outcomes from his behavior and choose the more pleasant result.
This behavior has to be nipped in the bud now...toddlers learn how far they can push the limits with their parents and will continue pushing until you set your foot down. Change your limit and be consistant. Consistency is the key...don't let him wear you down and definately don't show your frustration infront of him. You can let it all out later when you are alone.
Parenting is a tough job...I'm no expert. I do have two children (29 & 17) and was a foster mother for many years. I've seen a lot of bad behaviors and my husband and I had to be trained in handling them with our foster children. Presenting a united front before your child is paramount. Discuss this issue in private with your husband so you both react the same way in front of your son...if you don't, he'll start playing the divide and conquer game between you and your husband.
I hope this has been helpful. Good luck.
Blessings,
W.