Les codes d'erreur sont retournés par diverses fonctions pour indiquer la
réussite ou l'échec de l'opération demandée.
BeOS supporte les codes d'erreurs de la norme POSIX (ces constantes
commencent avec la lettre "E", comme dans EBADF
ou ENOENT). Un nombre de constantes
définies pour BeOS sont synonymes aux constantes POSIX; par exemple,
l'équivalent pour BeOS de ENOENT est B_ENTRY_NOT_FOUND.
Les constantes POSIX et leurs synonymes BeOS,
peuvent être passées par la fonction POSIX strerror(). Cette
fonction, définie dans posix/string.h, retourne une description de
l'erreur compréhensible par un être humain:
Code |
POSIX |
Description |
B_NO_MEMORY
|
ENOMEM
|
Il n'y a pas assez de mémoire pour cette opération |
B_IO_ERROR
|
EIO
|
Une erreur générale d'Entrée/Sortie est apparue |
B_PERMISSION_DENIED
|
EACCESS
|
Accès interdit |
B_BAD_INDEX
|
|
L'index est hors de portée
|
B_BAD_VALUE
|
EINVAL
|
Une valeur illégale a été passée à la fonction |
B_MISMATCHED_VALUES
|
|
Des
valeurs entrant en conflit ont été passées à la fonction
|
B_BAD_TYPE
|
|
Un type
d'argument invalide a été appelé ou passé
|
B_NAME_NOT_FOUND
|
|
Il n'y a
aucune correspondance pour le nom spécifié
|
B_NAME_IN_USE
|
|
Le nom
demandé (unique) est déjà utilisé
|
B_BUSY
|
EBUSY
|
Un périphérique est occupé, ou un fichier est verrouillé |
B_NOT_ALLOWED
|
EPERM
|
Opération non autorisée |
B_NO_INIT
|
|
Un
objet ou une structure n'a pas été proprement initialisée
|
B_TIMED_OUT
|
ETIMEDOUT
|
Le temps a expiré avant la fin de l'opération |
B_INTERRUPTED
|
EINTR
|
Un signal a interrompu l'opération |
B_WOULD_BLOCK
|
EAGAIN
|
Mais vous ne voulez pas la bloquer |
B_WOULD_BLOCK
|
EWOULD
BLOCK |
Idem |
B_ERROR
= –1 |
|
Une erreur en
général
|
B_NO_ERROR
= 0 |
|
Tout est OK
|
B_OK
|
|
La même chose que B_NO_ERROR |
Code |
POSIX
|
Description |
B_FILE_ERROR
|
EBADF
|
Une erreur de fichier est apparue |
B_FILE_EXISTS
|
EEXIST
|
Et vous ne voulez pas la détruire |
B_ENTRY_NOT_FOUND
|
ENOENT
|
L'entrée demandée n'existe pas |
B_NAME_TOO_LONG
|
ENAME
TOOLONG |
Nom ou chemin trop long |
B_NO_MORE_FDS
|
EMFILE
|
Plus de descripteurs de fichiers |
B_NOT_A_DIRECTORY
|
ENOTDIR
|
Alors qu'il devrait l'être |
B_IS_A_DIRECTORY
|
EISDIR
|
Alors qu'il ne devrait pas l'être |
B_DIRECTORY_NOT_EMPTY
|
ENOTEMPTY
|
Essaie d'effacer un répertoire non-vide |
B_DEVICE_FULL
|
ENOSPC
|
Disque plein |
B_READ_ONLY_DEVICE
|
EROFS
|
Ecriture demandée sur un système de fichier en lecture seule |
B_CROSS_DEVICE_LINK
|
EXDEV
|
Lien permanent entre périphériques non autorisé |
B_LINK_LIMIT
|
ELOOP
|
Le lien excède la limite |
B_BUSTED_PIPE
|
EPIPE
|
Le pipe n'est plus fonctionnel |
B_UNSUPPORTED
|
|
Une opération non
supportée a été tentée |
B_PARTITION_TOO_SMALL
|
|
La
partition est trop petite pour l'opération demandée |
Code |
Description |
B_DUPLICATE_REPLY
|
Un message de réponse a déjà été envoyé |
B_BAD_REPLY
|
Le message de réponse est inapproprié et ne peut pas être envoyé |
B_BAD_HANDLER
|
Le spécifieur du message est invalide |
B_MESSAGE_TO_SELF
|
Un thread essaie de s'envoyer un message à lui-même |
B_ALREADY_RUNNING
|
L'application ne peut être lancée de nouveau |
B_LAUNCH_FAILED
|
La tentative de lancer l'application a échoué |
B_AMBIGUOUS_APP_LAUNCH
|
Quelque chose de curieux s'est passé dans le contexte d'exécution de
l'application |
B_UNKOWN_MIME_TYPE
|
La signature de l'application est inconnue |
B_BAD_SCRIPT_SYNTAX
|
La syntaxe du script est incorrecte |
B_LAUNCH_FAILED_NO_RESOLVE_LINK
|
Impossible de résoudre le lien pour lancer l'application |
B_LAUNCH_FAILED_EXECUTABLE
|
La tentative de lancer l'application a échoué parce que l'application
n'est pas un exécutable valide |
B_LAUNCH_FAILED_APP_NOT_FOUND
|
La tentative de lancer l'application a échoué parce que l'application n'a
pas été trouvée |
B_LAUNCH_FAILED_APP_IN_TRASH
|
La tentative de lancer l'application a échoué parce que l'application se
trouve dans la corbeille |
B_LAUNCH_FAILED_NO_PREFERRED_APP
|
La tentative de lancer l'application a échoué parce qu'il n'existe pas
d'application par défaut pour ce document |
B_LAUNCH_FAILED_FILES_APP_NOT_FOU
ND |
La tentative de lancer l'application a échoué parce que les fichiers de
l'application n'ont pas été trouvés |
B_BAD_MIME_SNIFFER_RULE
|
La règle du sniffeur d'un type MIME est invalide |
Code |
Description |
B_BAD_THREAD_ID
|
L'identifiant du thread spécifié (thread_id)
est invalide |
B_BAD_THREAD_STATE
|
Le thread est dans un mauvais état pour l'opération |
B_NO_MORE_THREADS
|
Tous les identifiants des threads sont déjà pris |
B_BAD_TEAM_ID
|
L'identifiant du team spécifié (team_id)
est invalide |
B_NO_MORE_TEAMS
|
Tous les identifiants des teams sont déjà pris |
B_BAD_PORT_ID
|
L'identifiant du port spécifié (port_id) est invalide |
B_NO_MORE_PORTS
|
Tous les identifiants des ports sont déjà pris |
B_BAD_SEM_ID
|
L'identifiant du sémaphore (sem_id)
est invalide |
B_NO_MORE_SEMS
|
Tous les sémaphores sont déjà pris |
B_BAD_IMAGE_ID
|
L'identifiant de l'image spécifiée (image_id) est invalide |
B_NOT_AN_EXECUTABLE
|
Une image exécutable est attendue |
B_BAD_ADDRESS
|
Adresse illégale |
B_MISSING_LIBRARY
|
Une librairie nécessaire à une application n'a pas été trouvée |
B_MISSING_SYMBOL
|
Une symbole nécessaire à une application n'a pas été trouvée |
B_DEBUGGER_ALREADY_
INSTALLED |
Une tentative d'installer le débogueur a échouée parce qu'il est déjà
installé |
Code |
Description |
B_MEDIA_SYSTEM_FAILURE
|
Le media system a échoué |
B_MEDIA_BAD_NODE
|
La nœud spécifiée est invalide ou inexistante |
B_MEDIA_NODE_BUSY
|
La nœud spécifiée est occupée |
B_MEDIA_BAD_FORMAT
|
Le format du média est invalide |
B_MEDIA_TOO_MANY_NODES |
Le média system a atteint sa limite de nœuds |
B_MEDIA_TOO_MANY_BUFFERS |
Le média system n'a pas assez de mémoire tampon |
B_MEDIA_NODE_ALREADY_EXISTS |
Essayer de créer une nœud qui existe déjà n'est pas une bonne idée |
B_MEDIA_BUFFER_ALREADY_EXISTS |
Essayer de créer un buffer qui existe déjà n'est pas une bonne idée |
B_MEDIA_CANNOT_SEEK
|
Une erreur lors d'une recherche est apparue |
B_MEDIA_CANNOT_CHANGE_RUN_MODE |
Impossibilité de changer de mode d'exécution |
B_MEDIA_APP_ALREADY_REGISTERED |
L'application est déjà enregistrée avec le média system |
B_MEDIA_APP_NOT_REGISTERED |
L'application n'est pas enregistrée avec le média system |
B_MEDIA_CANNOT_RECLAIM_BUFFERS |
La demande d'un BBuffers a échouée |
B_MEDIA_BUFFERS_NOT_RECLAIMED |
BBuffers n'a pas été réclamée |
B_MEDIA_TIME_SOURCE_STOPPED |
Le temps-source n'est pas en cours d'exécution |
B_MEDIA_TIME_SOURCE_BUSY
|
Le temps-source est occupé |
B_MEDIA_BAD_SOURCE
|
La source du média spécifié est invalide |
B_MEDIA_BAD_DESTINATION
|
La destination du média spécifié est invalide |
B_MEDIA_ALREADY_CONNECTED |
Ne peut pas connecter les nœuds qui le sont déjà |
B_MEDIA_NOT_CONNECTED
|
Il n'y a pas de connexion en place |
B_MEDIA_BAD_CLIP_FORMAT
|
Le format du clip est invalide |
B_MEDIA_ADDON_FAILED
|
Un add-on a échoué |
B_MEDIA_ADDON_DISABLED
|
L'add-on est désactivé |
B_MEDIA_CHANGE_IN_PROGRESS |
Un changement est un cours |
B_MEDIA_STALE_CHANGE_COUNT |
Le compteur de changement n'est plus à jour |
B_MEDIA_ADDON_RESTRICTED |
L'add-on possède un accès restreint |
B_MEDIA_NO_HANDLER
|
Il n'y a pas de spécifieur qui corresponde aux besoins |
B_MEDIA_DUPLICATE_FORMAT |
Le format spécifié existe déjà |
B_MEDIA_REALTIME_DISABLED
|
L'allocation de la mémoire en temps réel est désactivée |
B_MEDIA_REALTIME_UNAVAILABLE |
L'allocation de la mémoire en temps réel est indisponible |