Your application should, as one of its main goals, NEVER lose user data. One way to achieve this is to regularly perform the work that the user performed without user intervention .
That most people are used to in real life. When people write in a notebook, they don’t expect the paper to ask, “Do you want me to really make these changes on paper?” They expect the changes to be permanent if they do not explicitly throw them away.
So, I wouldn’t even ask this question, wouldn’t implement the reliable undo functionality and just ask (maybe at the beginning of the working session) the new name of the save file, if this is a new job that saves continuously and upon exit.
These ideas come from a very enlightening Why software sucks ... and what you can do with it .
source share