I am having a sore throat. vs I have a sore throat.
He is having a heart attack. vs He has a heart attack.
English Language Learners Stack Exchange is a question and answer site for speakers of other languages learning English. It only takes a minute to sign up.Sign up to join this community
It is common in Indian English to overuse the continuous tense. In British and American English, you would never say 'I am having a sore throat'. A sore throat is a state that persists for some time. So you say 'I have a sore throat'.
However, a heart attack is an event, not a state. During the event, you are having a heart attack. Afterwards, you had a heart attack. At no point should you say (in BrE or AmE) "He has a heart attack".