You have done nothing wrong, so don't allow yourself to believe you have failed in any way, shape or form.
This is his crap, not yours, and he is simply using you as someone to blame, rather than looking at his own failings, in my opinion...some people find it far easier to blame someone else than to accept responsibility themselves.
I dont consider this an acceptable way to treat you, and quite frankly, you shouldn't tolerate it.
Next time he begins this nonsense, walk away, don't respond. I don't care what is going on in his life, or how stressed he is, it is really gutless to take it all out on someone else.
Hugs to you, and I really hope things improve, and that you do consider walking away if this continues, as honestly, you shouldn't have to endure this sort of poo.
If this happens more often than not, and the bad times are outweighing the good, then you need to have a serious think about the relationship.
_________________
I am diagnosed as a human being.