Bonjour,
Je suis amené à reprendre un peu de code C fait par un chercheur. Je suis un peu intrigué car ce code (enfin une librairie en fait) utilise beaucoup de malloc et se contente en cas d'échec de cette fonction de faire un simple affichage de texte à la console et de quitter.
D'un côté j'aimerai avoir quelque chose d'un peu plus solide, mais vu qu'on n'a pas d'exceptions en C, ça me paraît un énorme travail de tout refactorer pour pouvoir remonter une erreur entre les appels jusqu'au sommet de la façade de la librairie. En plus de cela je me dis que le code appelant ne saura pas trop quoi faire de cette erreur.
Donc je me pose vraiment la question si je dois utiliser une sorte de fonction my_malloc perso qui affiche un petit mot et laisse couler, ou carrément laisser arriver un segfault en me disant que c'est suffisamment exceptionnel pour être ignoré. Même si ça me pose le problème que vu que le code est en quelque sorte une librairie, je déciderai en fait de laisser tomber ou mettre fin à un processus qui m'utilise alors que ça devrait pas être à moi de décider de ça.
J'avoue je sais pas trop quoi faire car je connais pas suffisamment bien l'état de l'art dans ce langage.
Si vous avez des conseils à me donner sur la gestion des OOM ou me dire comment vous vous y prenez dans vos projets (enfin à condition que vous soyez sur de vrais projets de production), je serai ravi.
Partager