S.H.
1) Teach him the words for feelings, even for upset feelings. ie: happy, sad, mad, frustrated, grumpy, tired etc.
THEN it will teach him 'how' to say it... and allow him to say it... and teach him vocabulary at the same time.
For me, I "allow" upset feelings... but teach my children HOW to say it.. in a palatable way. Then, as a TEAM, we work on a solution or how to figure out 'why' they are upset.
I tell them, that after all, ADULTS get grumpy too... but "we" learn how to say it... nicely.
Keep explanations short and sweet/to the point.
That is what I did with my kids, at that age.
2) Boys are physical but throwing is not nice.
Redirect him.
When he throws something, do not give it back. Put it in a box for a "toy time out." Explain it.
3) Kids this age don't do well with LONG drawn out explanations or 'lectures.' So keep things short and to the point.
4) When he is not upset... at a peaceful time... Teach him how to actually say things if he is frustrated... then practice with him... so that he 'hears' and 'sees' you do it... kids this young, need that. Not just being told something. They need something tangible....
5) Kids this age get dramatic/frustrated because their 'emotions' are not even fully developed yet... but budding. Thus, they don't even have "coping skills' to even manage their emotions.... upsets etc.
Tell him "do not throw..." in a calm stern way. Then pick up the toy and put it in a box for the 'toy time out.' Don't go on and on and on about lecturing him about it. Just say "do not throw. Not nice. It hurts.... " then toy time out.
Kids this age also do NOT have full "impulse control" yet, either. So, they will repeat things that we don't like... think of it as a rock collecting moss... each time you reinforce the allowed/not allowed behavior, the child will gradually learn the 'proper' reaction to it or not.
all the best, just some quick tips,
Susan