He threw something out of anger and it hit me.. help

So basically this guy that I’ve been with for a while, he’s amazing and I’ve known him for a long time, we’re 19 and 20 now. He’s the love of my life and I’ve never thought different until tonight, we were hanging out together with our friends and one of my old guy friends touched my butt In a joking way but I still didn’t appreciate it and so I shouted no very loudly and my boyfriend came over and was so angry. He took the guys glass cup out of his and and threw it and it hit me in the face then he went to punch the guy and realized what he did to me so he stopped. I left immediately and I’m so upset because I don’t know what to do. He such a good guy and is extremely apologetic and feels so horrible about what he did and I know he didn’t mean to do it but I’m just so confused, I love him so much but don’t wanna settle for someone that could hurt me, even if It is an accident. Advice please