Anne Hathaway stopped drinking after she had a hangover that lasted "five days".
The 36-year-old actress - who has three-year-old Jonathan with her husband Adam Shulman - had previously vowed to not have alcohol until her son turns 18, and the star has admitted she stopped having a tipple because it made her "unavailable" and she could never stop at just one glass of wine.
She told Tatler magazine: "My issue is I just love it. So. Much. But the way I do it makes me unavailable for my son.
"My last hangover lasted for five days. I'd earned it: it was a day drinking session with friends that went into an evening birthday party with one of my drinking buddies. I will never be that person who can nurse a glass of wine throughout an entire evening.
"I could have seen myself being a teacher. Or going into the military. Or being some kind of do-gooder with a death wish. But more likely than anything else I would have been an alcoholic."
And Anne was given some helpful marriage advice from her 'Dark Knight Rises' co-star Sir Michael Caine, 86, who stressed the importance of having "separate bathrooms".
She added: "Michael and I don't really have a ring-you-up sort of relationship. But he's always very warm and lovely when we run into each other. He gives me marriage advice. Separate bathrooms. When he told me that, I laughed and he looked at me and said, 'I'm serious, it's such an important part of the marriage.'"
Though Anne has enjoyed a long and successful career, she was warned work would dry up when she hit 35 so is proud to still be busy.
She continued: "I was always told that once I turned 35 I would turn into a pumpkin and never get a good part again. It makes me sad that the world tells me my skin is somehow less valuable than it used to be, but I don't listen and I don't agree. I get so tickled by being invited to the show."