> The worst case is that I say I can't afford you.
There are many possible bad cases. Possibly much worse than this is that the candidate lowballs themselves. Another bad case is that they price themselves out when they might have been willing to take a lower offer after learning more.
The candidate has just as much uncertainty as the employer. There's no reason the burden should be on the candidate to be the first to name a number.