Merci pour votre question; je voulais justement poster un message sur les 2 stratégies acceptées dans ce contexte.
je cite la donnée (section 7.3.1 : description du rendu2). Cela doit nous servir de référence => doit toujours être mis en oeuvre dans votre projet:
En cas d’erreur de lecture du fichier, les structures de données sont effacées puis le programme attend qu’on utilise l’interface graphique pour ouvrir un autre fichier.
Dans ce message "les structures de données " qui sont effacées sont celles qui sont construites à partir du fichier qu'on a commencé à lire.
Votre question porte plus particulièrement sur le contexte où un fichier a déjà été ouvert avec succès et est visible dans la fenêtre graphique.
stratégie 1 <=> programme de démo. En cas d'échec, l'état antérieur à la tentative de lecture est toujours présent et peut continuer à être exécuté. Cela impose de conserver cet état antérieur tant qu'on n'est pas sûr du succès de la lecture du fichier qu'on demande d'ouvrir. Bref il faut gérer une copie temporaire de la simulation.
stratégie 2 = alternative aussi acceptée => dès la demande d'ouverture d'un nouveau fichier, on supprime la simulation courante avant même d'ouvrir le fichier en lecture. En cas d'échec, il n'y a donc plus rien et l'affichage se traduit pas un écran vide. le message « No game to run » doit apparaître à droite des boutons (section 5).