extending.po: 22%

This commit is contained in:
Julien Palard 2016-01-20 22:18:57 +01:00
parent c896eac8dc
commit 3e0face0ff

View File

@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: Python 3.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-01-13 22:59+0100\n"
"PO-Revision-Date: 2016-01-17 22:30+0100\n"
"PO-Revision-Date: 2016-01-20 22:17+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: French <translation@afpy.fr>\n"
"Language: fr\n"
@ -909,24 +909,26 @@ msgid ""
"Library Reference). It is important to know about them to understand how "
"errors are passed around."
msgstr ""
"Une convention primordiale imprégnant tout l'interpréteur Python est la "
"suivante: quand une fonction échoue, elle devrait laisser une d'exception et "
"renvoyer une valeur d'erreur (typiquement un pointeur *NULL*). Dans "
"l'interpréteur, les exceptions sont stockés dans une variable globale "
"statique, si cette variable est *NULL*, aucune exception n'a eu lieu. Une "
"seconde variable globale stocke la \"valeur associée\" à l'exception (le "
"deuxième argument de :keyword:`raise`). Une troisième variable contient la "
"trace de la pile dans le cas où l'erreur soit survenue dans du code Python. "
"Ces trois variables sont les équivalents C du résultat de :meth:`sys."
"exc_info` en Python (voir la section sur le module :mod:`sys` dans *The "
"Python Library Reference*). Il est important de les connaître pour "
"comprendre comment les erreurs sont propagées."
"Une convention primordiale imprégnant tout l'interpréteur Python est: quand "
"une fonction échoue, elle devrait laisser une exception et renvoyer une "
"valeur d'erreur (typiquement un pointeur *NULL*). Dans l'interpréteur, les "
"exceptions sont stockés dans une variable globale statique, si cette "
"variable est *NULL*, aucune exception n'a eu lieu. Une seconde variable "
"globale stocke la \"valeur associée\" à l'exception (le deuxième argument "
"de :keyword:`raise`). Une troisième variable contient la trace de la pile "
"dans le cas où l'erreur soit survenue dans du code Python. Ces trois "
"variables sont les équivalents C du résultat de :meth:`sys.exc_info` en "
"Python (voir la section sur le module :mod:`sys` dans *The Python Library "
"Reference*). Il est important de les connaître pour comprendre comment les "
"erreurs sont propagées."
#: extending/extending.rst:132
msgid ""
"The Python API defines a number of functions to set various types of "
"exceptions."
msgstr ""
"L'API Python définit un certain nombre de fonctions pour créer différents "
"types d'exceptions."
#: extending/extending.rst:134
msgid ""
@ -936,6 +938,11 @@ msgid ""
"indicates the cause of the error and is converted to a Python string object "
"and stored as the \"associated value\" of the exception."
msgstr ""
"La plus courante est :c:func:`PyErr_SetString`. Ses arguments sont un objet "
"exception et une chaîne C. L'objet exception est généralement un objet "
"prédéfini comme :c:data:`PyExc_ZeroDivisionError`. La chaîne C indique la "
"cause de l'erreur et est convertie en une chaîne Python puis stockée en tant "
"que \"valeur associée\" à l'exception."
#: extending/extending.rst:140
msgid ""
@ -946,6 +953,11 @@ msgid ""
"associated value. You don't need to :c:func:`Py_INCREF` the objects passed "
"to any of these functions."
msgstr ""
"Une autre fonction utile est :c:func:`PyErr_SetFromErrno`, qui construit une "
"exception à partir de la valeur de la variable globale :c:data:`errno`. La "
"fonction la plus générale est :c:func: `PyErr_SetObject`, qui prend deux "
"arguments: l'exception et sa valeur associée. Vous ne devez pas appliquer :c:"
"func:`Py_INCREF` aux objets transmis à ces fonctions."
#: extending/extending.rst:147
msgid ""
@ -955,6 +967,12 @@ msgid ""
"`PyErr_Occurred` to see whether an error occurred in a function call, since "
"you should be able to tell from the return value."
msgstr ""
"Vous pouvez tester de manière non destructive si une exception a été levée "
"avec :c:func:`PyErr_Occurred`. Cela renvoie l'objet exception actuel, ou "
"*NULL* si aucune exception n'a eu lieu. Cependant, vous ne devriez pas avoir "
"besoin d'appeler :c:func:`PyErr_Occurred` pour voir si une erreur est "
"survenue durant l'appel d'une fonction, puisque vous devriez être en mesure "
"de le déterminer à partir de la valeur de retour."
#: extending/extending.rst:153
msgid ""
@ -969,6 +987,17 @@ msgid ""
"code and tries to find an exception handler specified by the Python "
"programmer."
msgstr ""
"lorsqu'une fonction *f* ayant appelé une autre fonction *g* détecte que "
"cette dernière a échoué, *f* devrait donner une valeur d'erreur à son tour "
"(habituellement *NULL* ou ``-1``). *f* ne devrait *pas* appeler l'une des "
"fonctions :c:func:`PyErr_\\*`, l'une d'elles ayant déjà été appelée par *g*. "
"La fonction appelant *f* est alors censée retourner aussi un code d'erreur à "
"celle qui la appelée, toujours sans utiliser :c:func:`PyErr_\\*`, et ainsi "
"de suite. La cause la plus détaillée de l'erreur a déjà été signalée par la "
"fonction l'ayant détectée en premier. Une fois l'erreur remontée à la boucle "
"principale de l'interpréteur Python, il interrompt le code en cours "
"d'exécution et essaie de trouver un gestionnaire d'exception spécifié par le "
"développeur Python."
#: extending/extending.rst:163
msgid ""
@ -978,6 +1007,12 @@ msgid ""
"can cause information about the cause of the error to be lost: most "
"operations can fail for a variety of reasons.)"
msgstr ""
"(Il ya des situations où un module peut effectivement donner un message "
"d'erreur plus détaillé en appelant une autre fonction :c:func:`PyErr_\\*`, "
"dans de tels cas, c'est tout à fait possible de le faire. Cependant, ce "
"n'est généralement pas nécessaire, et peut amener à perdre des informations "
"sur la cause de l'erreur: la plupart des opérations peuvent échouer pour "
"tout un tas de raisons)."
#: extending/extending.rst:169
msgid ""
@ -987,6 +1022,12 @@ msgid ""
"pass the error on to the interpreter but wants to handle it completely by "
"itself (possibly by trying something else, or pretending nothing went wrong)."
msgstr ""
"Pour ignorer une exception qui aurait été émise lors d'un un appel de "
"fonction qui aurait échoué, l'exception doit être retirée explicitement en "
"appelant :c:func:`PyErr_Clear`. Le seul cas pour lequel du code C devrait "
"appeler :c:func:`PyErr_Clear` est lorsqu'il ne veut pas passer l'erreur à "
"l'interpréteur, mais souhaite la gérer lui-même (peut-être en essayant "
"quelque chose d'autre, ou de prétendre rien a mal tourné)."
#: extending/extending.rst:175
msgid ""
@ -996,6 +1037,12 @@ msgid ""
"creating functions (for example, :c:func:`PyLong_FromLong`) already do this, "
"so this note is only relevant to those who call :c:func:`malloc` directly."
msgstr ""
"Chaque échec de :c:func:`malloc` doit être transformé en une exception --- "
"l'appelant direct de :c:func:`malloc` (ou :c:func:`realloc`) doit appeler :c:"
"func:`PyErr_NoMemory` et prendre l'initiative de renvoyer une valeur "
"d'erreur. Toutes les fonctions construisant des objets (tels que :c:func:"
"`PyLong_FromLong`) le font déjà, donc cette note ne concerne que ceux qui "
"appellent :c:func:`malloc` directement."
#: extending/extending.rst:181
msgid ""
@ -1004,6 +1051,10 @@ msgid ""
"positive value or zero for success and ``-1`` for failure, like Unix system "
"calls."
msgstr ""
"Notez également que, à l'exception notable de :c:func:`PyArg_ParseTuple` et "
"compagnie, les fonctions qui renvoient leur statut sous forme d'entier "
"donnent généralement une valeur positive ou zéro en cas de succès et ``-1`` "
"en cas d'échec, comme les appels système Unix."
#: extending/extending.rst:185
msgid ""
@ -1011,6 +1062,9 @@ msgid ""
"c:func:`Py_DECREF` calls for objects you have already created) when you "
"return an error indicator!"
msgstr ""
"Enfin, lorsque vous renvoyez un code d'erreur, n'oubliez pas faire un brin "
"de nettoyage (en appelant :c:func:`Py_XDECREF` ou :c: func:` Py_DECREF` avec "
"les objets que vous auriez déjà créé) !"
#: extending/extending.rst:189
msgid ""
@ -1024,12 +1078,25 @@ msgid ""
"you have an argument whose value must be in a particular range or must "
"satisfy other conditions, :c:data:`PyExc_ValueError` is appropriate."
msgstr ""
"Le choix de l'exception à lever vous incombe. Il existe des objets C "
"correspondant à chaque exception Python, tel que :c:data:"
"`PyExc_ZeroDivisionError`, que vous pouvez utiliser directement. Choisissez "
"judicieusement vos exceptions, typiquement n'utilisez pas :c:data:"
"`PyExc_TypeError` pour indiquer qu'un fichier n'a pas pu être ouvert (qui "
"devrait probablement être :c:data:`PyExc_IOError`). Si quelque chose ne va "
"pas avec la liste d'arguments, la fonction :c:func:`PyArg_ParseTuple` "
"soulève habituellement une exception :c:data:`PyExc_TypeError`. Mais si vous "
"avez un argument dont la valeur doit être dans une intervalle particulière "
"ou qui doit satisfaire d'autres conditions, :c:data:`PyExc_ValueError` sera "
"plus appropriée."
#: extending/extending.rst:199
msgid ""
"You can also define a new exception that is unique to your module. For this, "
"you usually declare a static object variable at the beginning of your file::"
msgstr ""
"Vous pouvez également créer une exception spécifique à votre module. Pour "
"cela, déclarez simplement une variable statique au début de votre fichier ::"
#: extending/extending.rst:204
msgid ""
@ -1037,6 +1104,9 @@ msgid ""
"`PyInit_spam`) with an exception object (leaving out the error checking for "
"now)::"
msgstr ""
"et initialisez-la dans la fonction d'initialisation de votre module (:c:func:"
"`PyInit_spam`) avec un objet exception (Passons, pour le moment, la "
"vérification des codes d'erreur) ::"
#: extending/extending.rst:222
msgid ""
@ -1045,6 +1115,10 @@ msgid ""
"class being :exc:`Exception` (unless another class is passed in instead of "
"*NULL*), described in :ref:`bltin-exceptions`."
msgstr ""
"Notez que le nom de exception, côté Python, est :exc:`spam.error`. La "
"fonction :c:func:`PyErr_NewException` peut créer une classe héritant de :exc:"
"`Exception` (à moins qu'une autre classe ne lui soit fournie à la place de "
"*NULL*), voir :ref:`bltin-exceptions`."
#: extending/extending.rst:227
msgid ""