Если файл не существует, программа должна перехватывать исключение FileNotFoundException. - А она разве не перехватывает?