What's the best idiom here?

If you want to communicate to the user that they have already deleted the file, you can check for the existence explicitly with isfile or save that information as part of the struct.

If you’re concerned with persistent bindings in the REPL, I recommend putting more things into functions (which clean up their local variables after execution) and not having the variables linger in global scope in the first place.