I absolutely agree with everyone's advice in terms of how this situation needs to be handled. It woulds like both of you are under a tremendous amount of strain emotionally, and financially at this time...these situations can affect our behavior, and our ability to manage ourselves appropriately at times.
HOWEVER, that being said, there is NO REASON or EXCUSE that is good enough, or WORTHY of justifying slapping you into a wall...or slapping you EVER!!!
Is this the first time he's gotten physical with you? You don't have to answer that, but I'm curious. You should never have to be afraid of your own husband...EVER!!! Fear is a method of control that is seen over and over in abusive relationships, and you need to set firm boundaries. The way I see it, is that you can handle this a variety of ways, some okay, and some not. But please, remember, you have a child, and your husband is modeling some very unhealthy behavior for your son. This is NOT how you want your boy feeling that this is how women should be treated, simply because you made it okay for his father to do so to YOU. That last statement sounded harsh, and I'm sorry, but I do want you to understand how damaging this situation is for your son...and if you do NOT set some firm limits, and allow your husband to continue treating you badly...well, to me, that's a form of mental and emotional abuse to your son as well.
I would do one of 2 things NOW:
*Pack up and go. No talking, no pomp and circumstance...pack up, take the kids, and GO without a word. Don't let him verbally trap you. If he so much as lays ONE hand on you to stop you...you call the cops, and file a report. Period.
*Approach him, and set your verbal boundary. Tell him, "I don't know what came over you the other night, but I can tell you this much...you will NOT touch me like that ever again. You will NOT throw me around, you will not shove me, you will NOT slap me, or hurt me in any way shape or form. If you do, I'm taking the kids, and we are over. I absolutely 100% mean it. Do not ever dream of laying another finger on me like that again...or we're done. Is there something you're not understanding?" And you know what? If he EVER does ANY of the above EVER again, you leave, and stick to your guns...no exceptions, no apologies accepted, no retractions, etc. And I mean, STICK TO IT. This should be what you should do, if you aren't planning to leave him now. Idle threats will not work...if you set your boundary, you must follow through with it if it happens again...or you're teaching him that you're a doormat that will tolerate it again and again. He needs to know - just one more time, and you're GONE!!! And if it comes to that, FOLLOW THROUGH!!!!!!
I'm so sorry things have been so rough for you lately. I know you say he loves you, and in his own way I'm sure he does...but love and RESPECT would have prevented him from slapping you into a wall and behaving like a controlling *ss. The divorce comment he made to you was another fear tactic, and while it wasn't physical, it was emotional abuse. And now he's crossed the line into physical assault...honey, it's probably not going to stop there. Don't kid yourself, and don't let him blind-side you with half-ass apologies and empty promises...you are the only one that can stop any of this, because I guarantee you that he will not, if you allow it to continue. You either leave him now, or set a boundary for him follow...if he violates it, be GONE, and do not hesitate.