Table des Matières du Kit de Support    Index du Kit de Support

Codes d'erreurs

Déclarée dans: be/support/Errors.h

Les codes d'erreur sont retournés par diverses fonctions pour indiquer la réussite ou l'échec de l'opération demandée.

Toutes les constantes d'erreurs définies par Be, à l'execption de B_OK (B_NO_ERROR), sont des entiers négatifs; une fonctions qui retourne un code d'erreur peut ainsi être testée pour déterminer la réussite ou l'échec en faisant comme ceci:

   if ( funcCall() < B_NO_ERROR )
      /* échec */
   else
      /* succès */

Toutes les constantes (à l'exception de B_NO_ERROR et B_ERROR) sont inférieures ou égales à la valeur de la constante B_ERRORS_END. Si vous voulez définir vos propres codes d'erreurs ayant une valeur négative, vous devez commencer avec la valeur (B_ERRORS_END + 1) et travailler vers 0.


Erreurs POSIX

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.

La plupart des Codes d'Erreurs Généraux, et tous les Codes d'Erreurs du Système de Fichiers sont couverts par les erreurs POSIX. Les équivalents POSIX sont listés là où c'est applicable.

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:

   char *strerror(int error_code)


Codes d'Erreurs Généraux

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


Codes d'Erreurs du Système de Fichiers

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


Codes d'Erreurs du Kit d'Application

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


Codes d'Erreur du Kit Kernel

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é


Codes d'Erreur du Média Kit

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


Erreurs Mail

Code Description
B_MAIL_NO_DAEMON le mail_daemon n'est pas en cours d'exécution
B_MAIL_UNKNOWN_USER Utilisateur inconnu
B_MAIL_WRONG_PASSWORD Le mot de passe ne correspond pas avec l'utilisateur
B_MAIL_UNKNOWN_HOST L'hôte POP ou SMTP n'est pas reconnu
B_MAIL_ACCESS_ERROR Ne peut pas accéder à l'hôte
B_MAIL_UNKNOWN_FIELD Nom du champ de message inconnu
B_MAIL_NO_RECIPIENT Retour à l'expéditeur, adresse inconnue
B_MAIL_INVALID_MAIL Message électronique invalide


Erreurs du Kit de Périphériques 

Code
B_DEV_INVALID_IOCTL
B_DEV_NO_MEMORY
B_DEV_BAD_DRIVE_NUM
B_DEV_NO_MEDIA
B_DEV_UNREADABLE
B_DEV_FORMAT_ERROR
B_DEV_TIMEOUT
B_DEV_RECALIBRATE_ERROR
B_DEV_SEEK_ERROR
B_DEV_ID_ERROR
B_DEV_READ_ERROR
B_DEV_WRITE_ERROR
B_DEV_NOT_READY
B_DEV_MEDIA_CHANGED


Table des Matières du Kit de Support     Index du Kit de Support


The Be Book,
...in lovely HTML...
for BeOS Release 5.

Copyright © 2000 Be, Inc. All rights reserved..