Linux |
CentOS 4.8 |
|
assert_perror(3) |
assert_perror − teste code_erreur et arrête le programme |
#include <assert.h> void assert_perror(int code_erreur); |
Si la macro NDEBUG est définie lorsque <assert.h> est incluée pour la dernière fois, la macro assert_perror() ne génère aucun code, et donc n’a aucun impact. Sinon, la macro assert_perror() affiche un message erreur sur la sortie standarde et quitte le programme en apellant abort() si code_erreur est non nul. Le message contient le nom du fichier, le nom de la fonction et le numéro de ligne de l’appel de la macor, ainsi que le résultat de strerror(code_erreur). |
Aucune valeur ne peut être renvoyée. |
Ceci est une extension GNU. |
Le but des macros d’assertion est d’aider le programmeur a trouver les bogues dans son programme, bogues résultant d’erreur de programmation. Cependant, avec les appels de fonctions ou les appels système, la situation est différente et un des valeur de retour signalant un erreur peuvent et vont se produire, et doivent donc être testées. Non pas par une assertion dont le test disparaitrait quand NDEBUG est définie, mais en écrivant correctement un gestionnaire d’erreur. N’utilisez jamais cette macro. |
exit(3), abort(3), assert(3), strerror(3) |
assert_perror(3) |