Anne Hathaway might be regarded as Hollywood's polite princess, but the 29-year-old says she's no saint.