You get a hangover because your body gets dehydrated, and that's why you get the headaches and puking. Next time, before you pass out for the night, drink down a couple pints of water. That will re-hydrate you and lessen the hangover in the morning.

Or it could be your brain punishing you for doing something so silly.

I'm glad I don't drink anymore. I feel I am the only healthy person walking around on a Sat or Sun. morning as everyone else is nursing a hangover.