I used to be a pre-kindergarten teacher, which is a a bit younger than your little guy, but we had a few kiddos that would get frustrated and say "I can't" to just about everything and few crazy tantrum throwers. One rule that I had was that they needed to try to do it first (whatever "it" was) and if they still needed help, I would help them. Also, if they got angry/frustrated with something, they needed to "walk away" and take a a break or go sit down and get control of their bodies so that we could figure it out once they were chilled out. Sometimes you can use a timer OR if you check in with them after a few minutes and if they are still freaking out, tell them that you can see they are still upset, so you will be back in a few minutes to see if they are ready. You can also ask them if they are ready for help and if they scream at you (even if they scream YES!) CALMLY say, "Well, it doesn't sound like you are ready since you are screaming at me, so I'll be back in a few minutes" OR you can tell them to come get you when they are calm and not screaming anymore if you need to walk away and leave them in their room. This puts the ball in their court and it is now up to them to calm down so they can get what they want/need. If my students were whining or crying, I would tell them that I cannot listening to them/understand them and I needed to hear their regular, calm voice so that I could help them. And of course there is the old "Take 5 deep breaths" or "Count to 20", etc. and then tell me what the problem is. As far as trashing his room and throwing toys, calmly and in a matter-of-fact manner let him know that he will need to clean up all of the mess before [fill in the blank- ex. watch TV, before you will help with what he needed, before playing, or whatever desired activity that is important to him] If this sparks another tantrum, remind him that it is his choice and he needs to make good choice so that he can do what he wants to do. It is up to him! This helps remove some of the power struggle b/c you are putting him in charge of what happens next. "If" and "Then" statements are also helpful b/c you are letting them know the limit/expectation and then the consequence (good or bad). "If you do [blank] then [blank] is what is going to happen. This serves as the 1 warning and then if they do it again, then you follow through immediately with what you said you were going to do. No need to yell or get mad, just gently remind them that you told them what was going to happen if they kept doing [blank] and they made the bad choice, so now [blank] is happening AND that next time you hope they will make a better choice. You mentioned taking toys which COULD work "If you throw toys, I am going to take them away", but in this volatile situation, you may not want to use that strategy here. He is trying to get a response and attention from you, so you need to try your best not to feed into it. BUT once he comes to you calm and asking for help, praise the heck out of him for getting control of his body, emotions, etc. "I can understand you/help you so much better when you are not yelling" "I am glad to help you when you are calm" You want to really reinforce the good behavior and give positive attention and minimize the attention he gets from bad behavior.
As for you, one of my professors in college said, "If you get mad or start yelling, you have lost control [of yourself, the situation, etc]." That has really stuck with me over the years. Remember, you are the parent and you are the adult. You do not want to get sucked into a power struggle or argument with a child. Try to keep your cool...at least on the outside:-) If you don't want tantrums from your child, you have to model appropriate ways to handle frustration and anger. (Easier said than done- BELIEVE ME I KNOW!) Also, you need to ask yourself, do tantrums get him what he wants? If they work, even sometimes, this reinforces that tantrums = getting what I want/need. I know sometimes parents think they need to "choose their battles" BUT if your child is testing limits or is having a problem with tantrums, you have got to follow through and stick to your guns otherwise you are undermining your own authority. They need to know you mean what you say and say what you mean...EVERY TIME! If you give in sometimes, they are going to test every time to see if they are going to get lucky once again. They will not trust or believe what you say if you are not consistent and if you make empty threats or if "no" actually means "yes" sometimes. I don't know if this is off topic, but just thought I would throw this out there in case it is a related issue for you :-)
A great resource is "Setting Limits with your Strong Willed Child: Eliminating Conflict by Establishing Clear, Firm, and Respectful Boundaries"
Good luck! Hope my response wasn't too long winded and that you find some of it helpful :-)