Avoid running into an IOException and logging it.
When we recently switched from System.err printing to slf4j logging, we started logging an IOException that we shouldn't be running into and that we simply ignored before. This exception gets thrown when DescriptorReaderImpl attempts to read a parse history file that doesn't exist (yet). We should simply check whether that files exists before attempting to read it. Fixes #20320.