You ARE a wonderful person and are doing a great job of holding it together. Remember...water off a ducks back.
I cannot make an excuse for your H's rudeness. I can understand why he is angry; it's a mask to hide all the other emotions, but that is no excuse for that sort of language .
Go to your friends, eat, drink and be merry; they will make you realise what is missing and will help you on your road.
P.S. Pants in Britian mean something quite different, so it's a cold shower again for me!!