On utilise un format (par exemple) qui permet de revenir sur c'est pas si la dernière écriture n'est que partiel (principe dis du « tout ou rien » ou commit/rollback, bref tu es transactionnel). Pour ça par exemple tu peux utiliser un système de db avec des transactions, ouvrir le fichier uniquement en mode apend, etc
Sinon, j'ai lu un excellent article de boost * sur "exception safety" qui parle justement de ce type de problèmes.
Très intéressant dans la théorie, mais, très coûteux en dev dans la pratique, la technique du commit/rollback.
Technique qui, je précise, n'est pas liée aux bases de données dans les termes de cet articles.
Firefox fait beaucoup de sync pour que l'utilisateur ne perde presque rien en cas de plantage c'est pas tout à fait pareil.
Ben, si… pourquoi il pourrait planter? Parce qu'il supporte mal les exceptions. Enfin, attention ici, parce que les mécaniques liées aux plug-in sont très complexes à gérer de façon portable en C ou C++, vu que quand le système balance une sigsegv, on à pas le droit de faire un catch dessus, alors si un plug-in chargé fait une division par 0… bam! l'appli plante, car un plug-in n'est rien d'autre qu'une librairie, et c'est dont l'appli qui fait cette fameuse division.
[^] # Re: Plantages...
Posté par freem . En réponse à la dépêche Gnumeric 1.12. Évalué à 2.
Sinon, j'ai lu un excellent article de boost * sur "exception safety" qui parle justement de ce type de problèmes.
Très intéressant dans la théorie, mais, très coûteux en dev dans la pratique, la technique du commit/rollback.
Technique qui, je précise, n'est pas liée aux bases de données dans les termes de cet articles.
Ben, si… pourquoi il pourrait planter? Parce qu'il supporte mal les exceptions. Enfin, attention ici, parce que les mécaniques liées aux plug-in sont très complexes à gérer de façon portable en C ou C++, vu que quand le système balance une sigsegv, on à pas le droit de faire un catch dessus, alors si un plug-in chargé fait une division par 0… bam! l'appli plante, car un plug-in n'est rien d'autre qu'une librairie, et c'est dont l'appli qui fait cette fameuse division.