Erreur interne
# Erreur interne

En informatique, une erreur interne désigne une erreur due à un défaut dans la conception d'un programme ou dans sa configuration, ou encore à des facteurs externes que le programme n'est pas capable de gérer (manque de mémoire, matériel défaillant…). Elle est en général la manifestation d'un bug.

Ce type d'erreur s'oppose aux erreurs dues à une mauvaise manipulation de l'utilisateur final et ne peut en général être résolu que par les développeurs du programme ou les administrateurs responsables de sa configuration.

## Erreurs internes notables

Certains programmes sont capables de détecter leurs propres erreurs internes afin de proposer un diagnostic à l'utilisateur ou aux personnes en mesure de les résoudre.

### Erreur interne d'un serveur HTTP

Un serveur HTTP doit gérer à la fois les erreurs dues au client et les erreurs dues au serveur, qui se distinguent par leurs codes respectifs (de la forme 4xx pour les erreurs du client, 5xx pour les erreurs du serveur).

L'erreur interne la plus générique due au serveur est simplement dénommée Internal Server Error et a pour code 500.

### Erreur interne d'un compilateur

Un compilateur traite de nombreux types d'erreurs (erreurs de syntaxe, erreurs de logique…) qui se produisent dans le cadre d'une utilisation normale, et qui donnent lieu à des diagnostics afin d'aider l'utilisateur à résoudre ces erreurs.

Les erreurs internes au compilateur (qui ne sont pas dues à une mauvaise utilisation ni à un code malformé) sont souvent désignée par l'acronyme ICE (pour Internal Compiler Error, en anglais). C'est notamment le cas avec les compilateurs GCC et Visual Studio, ce dernier distinguant les « erreurs de backend internes », les « erreurs de compilateur internes » et les « erreurs de générateur de code internes ». La documentation de GCC précise quant à elle que ces erreurs sont aussi dues à des problèmes $matériels^,.$

