Tutorial Errors and Exceptions Review.

This commit is contained in:
Christophe Nanteuil 2018-02-10 16:26:49 +01:00 committed by Julien Palard
parent a2e79cffee
commit cde310d5d2

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: Python 3.6\n" "Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-27 19:40+0200\n" "POT-Creation-Date: 2017-05-27 19:40+0200\n"
"PO-Revision-Date: 2017-05-16 22:24+0200\n" "PO-Revision-Date: 2018-02-10 15:24+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n" "Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.11\n" "X-Generator: Poedit 2.0.2\n"
#: ../Doc/tutorial/errors.rst:5 #: ../Doc/tutorial/errors.rst:5
msgid "Errors and Exceptions" msgid "Errors and Exceptions"
@ -27,10 +27,10 @@ msgid ""
"tried out the examples you have probably seen some. There are (at least) " "tried out the examples you have probably seen some. There are (at least) "
"two distinguishable kinds of errors: *syntax errors* and *exceptions*." "two distinguishable kinds of errors: *syntax errors* and *exceptions*."
msgstr "" msgstr ""
"Jusqu'à maintenant, les messages d'erreurs ont seulement été mentionnés, " "Jusqu'ici, les messages d'erreurs ont seulement été mentionnés. Mais si vous "
"mais si vous avez essayé les exemples vous avez certainement vu plus que " "avez essayé les exemples vous avez certainement vu plus que cela. En fait, "
"cela. En fait, il y a au moins deux types d'erreurs à distinguer : les " "il y a au moins deux types d'erreurs à distinguer : les *erreurs de syntaxe* "
"*erreurs de syntaxe* et les *exceptions*." "et les *exceptions*."
#: ../Doc/tutorial/errors.rst:15 #: ../Doc/tutorial/errors.rst:15
msgid "Syntax Errors" msgid "Syntax Errors"
@ -54,12 +54,12 @@ msgid ""
"colon (``':'``) is missing before it. File name and line number are printed " "colon (``':'``) is missing before it. File name and line number are printed "
"so you know where to look in case the input came from a script." "so you know where to look in case the input came from a script."
msgstr "" msgstr ""
"L'analyseur répère la ligne incriminée et affiche une petite 'flèche' " "L'analyseur indique la ligne incriminée et affiche une petite 'flèche' "
"pointant vers le premier endroit de la ligne où l'erreur a été détectée. " "pointant vers le premier endroit de la ligne où l'erreur a été détectée. "
"L'erreur est causée (ou, au moins, a été détectée comme telle) par le " "L'erreur est causée (ou, au moins, a été détectée comme telle) par le "
"symbole placé *avant* la flèche. Dans cet exemple la flèche est sur la " "symbole placé *avant* la flèche. Dans cet exemple la flèche est sur la "
"fonction :func:`print` car il manque deux points (``':'``) justeavant. Le " "fonction :func:`print` car il manque deux points (``':'``) juste avant. Le "
"nom de fichier et le numéro de ligne sont affichés pour vous permettre de " "nom du fichier et le numéro de ligne sont affichés pour vous permettre de "
"localiser facilement l'erreur lorsque le code provient d'un script." "localiser facilement l'erreur lorsque le code provient d'un script."
#: ../Doc/tutorial/errors.rst:37 #: ../Doc/tutorial/errors.rst:37
@ -77,8 +77,8 @@ msgid ""
msgstr "" msgstr ""
"Même si une instruction ou une expression est syntaxiquement correcte, elle " "Même si une instruction ou une expression est syntaxiquement correcte, elle "
"peut générer une erreur lors de son exécution. Les erreurs détectées durant " "peut générer une erreur lors de son exécution. Les erreurs détectées durant "
"l'exécution son appelées des *exceptions* et ne sont pas toujours fatales : " "l'exécution sont appelées des *exceptions* et ne sont pas toujours fatales : "
"vous apprendrez bientôt comment les traîter dans vos programmes. La plupart " "nous apprendrons bientôt comment les traiter dans vos programmes. La plupart "
"des exceptions toutefois ne sont pas prises en charge par les programmes, ce " "des exceptions toutefois ne sont pas prises en charge par les programmes, ce "
"qui génère des messages d'erreurs comme celui-ci : ::" "qui génère des messages d'erreurs comme celui-ci : ::"
@ -93,12 +93,12 @@ msgid ""
"convention). Standard exception names are built-in identifiers (not reserved " "convention). Standard exception names are built-in identifiers (not reserved "
"keywords)." "keywords)."
msgstr "" msgstr ""
"La dernière ligne du message d'erreur indique la cause de l'erreur. Les " "La dernière ligne du message d'erreur indique ce qui s'est passé. Les "
"exceptions peuvent être de différents types, et ce type est indiqué dans le " "exceptions peuvent être de différents types et ce type est indiqué dans le "
"message : les types indiqués dans l'exemple sont :exc:`ZeroDivisionError`, :" "message : les types indiqués dans l'exemple sont :exc:`ZeroDivisionError`, :"
"exc:`NameError` et :exc:`TypeError`. Le texte affiché comme type de " "exc:`NameError` et :exc:`TypeError`. Le texte affiché comme type de "
"l'exception est le nom de l'exception native qui a été déclenchée. Ceci est " "l'exception est le nom de l'exception native qui a été déclenchée. Ceci est "
"vrai pour toutes les exceptions natives, mais n'est pas une obligation pour " "vrai pour toutes les exceptions natives mais n'est pas une obligation pour "
"les exceptions définies par l'utilisateur (même si c'est une convention bien " "les exceptions définies par l'utilisateur (même si c'est une convention bien "
"pratique). Les noms des exceptions standards sont des identifiants natifs " "pratique). Les noms des exceptions standards sont des identifiants natifs "
"(pas des mots réservés)." "(pas des mots réservés)."
@ -109,7 +109,7 @@ msgid ""
"caused it." "caused it."
msgstr "" msgstr ""
"Le reste de la ligne fournit plus de détails en fonction du type de " "Le reste de la ligne fournit plus de détails en fonction du type de "
"l'exception et de ce qui l'a causé." "l'exception et de ce qui l'a causée."
#: ../Doc/tutorial/errors.rst:69 #: ../Doc/tutorial/errors.rst:69
msgid "" msgid ""
@ -118,17 +118,18 @@ msgid ""
"a stack traceback listing source lines; however, it will not display lines " "a stack traceback listing source lines; however, it will not display lines "
"read from standard input." "read from standard input."
msgstr "" msgstr ""
"La partie précédente du message d'erreur montre le contexte dans lequel " "La partie précédente dans le message d'erreur indique le contexte dans "
"s'est produite l'exception, sous la forme d'une trace de pile d'exécution. " "lequel s'est produite l'exception, sous la forme d'une trace de pile "
"En général, celle-ci contient les lignes du code source ; toutefois, les " "d'exécution. En général, celle-ci contient les lignes du code source ; "
"lignes lues à partir de l'entrée standard ne seront pas affichées." "toutefois, les lignes lues à partir de l'entrée standard ne sont pas "
"affichées."
#: ../Doc/tutorial/errors.rst:74 #: ../Doc/tutorial/errors.rst:74
msgid "" msgid ""
":ref:`bltin-exceptions` lists the built-in exceptions and their meanings." ":ref:`bltin-exceptions` lists the built-in exceptions and their meanings."
msgstr "" msgstr ""
"Vous trouverez dans :ref:`bltin-exceptions` la liste des exceptions natives " "Vous trouvez la liste des exceptions natives et leur signification dans :ref:"
"et leur signification." "`bltin-exceptions`."
#: ../Doc/tutorial/errors.rst:80 #: ../Doc/tutorial/errors.rst:80
msgid "Handling Exceptions" msgid "Handling Exceptions"
@ -147,29 +148,29 @@ msgstr ""
"exceptions. Regardez l'exemple suivant, qui demande une saisie à " "exceptions. Regardez l'exemple suivant, qui demande une saisie à "
"l'utilisateur jusqu'à ce qu'un entier valide ait été entré, mais permet à " "l'utilisateur jusqu'à ce qu'un entier valide ait été entré, mais permet à "
"l'utilisateur d'interrompre le programme (en utilisant :kbd:`Control-C` ou " "l'utilisateur d'interrompre le programme (en utilisant :kbd:`Control-C` ou "
"un autre raccourci que le système supporte) ; notez qu'une interruption " "un autre raccourci que le système accepte) ; notez qu'une interruption "
"générée par l'utilisateur est signalée en levant l'exception :exc:" "générée par l'utilisateur est signalée en levant l'exception :exc:"
"`KeyboardInterrupt`." "`KeyboardInterrupt`."
#: ../Doc/tutorial/errors.rst:96 #: ../Doc/tutorial/errors.rst:96
msgid "The :keyword:`try` statement works as follows." msgid "The :keyword:`try` statement works as follows."
msgstr "L'instruction :keyword:`try` fonctionne comme ceci." msgstr "L'instruction :keyword:`try` fonctionne comme ceci :"
#: ../Doc/tutorial/errors.rst:98 #: ../Doc/tutorial/errors.rst:98
msgid "" msgid ""
"First, the *try clause* (the statement(s) between the :keyword:`try` and :" "First, the *try clause* (the statement(s) between the :keyword:`try` and :"
"keyword:`except` keywords) is executed." "keyword:`except` keywords) is executed."
msgstr "" msgstr ""
"Premièrement, la *clause try* (instruction(s) placée(s) entre les mots-clés :" "premièrement, la *clause try* (instruction(s) placée(s) entre les mots-clés :"
"keyword:`try` et :keyword:`except`) est exécutée." "keyword:`try` et :keyword:`except`) est exécutée ;"
#: ../Doc/tutorial/errors.rst:101 #: ../Doc/tutorial/errors.rst:101
msgid "" msgid ""
"If no exception occurs, the *except clause* is skipped and execution of the :" "If no exception occurs, the *except clause* is skipped and execution of the :"
"keyword:`try` statement is finished." "keyword:`try` statement is finished."
msgstr "" msgstr ""
"Si aucune exception n'intervient, la *clause except* est sautée et " "si aucune exception n'intervient, la clause ``except`` est sautée et "
"l'exécution de l'instruction :keyword:`try` est terminée." "l'exécution de l'instruction :keyword:`try` est terminée ;"
#: ../Doc/tutorial/errors.rst:104 #: ../Doc/tutorial/errors.rst:104
msgid "" msgid ""
@ -178,11 +179,11 @@ msgid ""
"keyword:`except` keyword, the except clause is executed, and then execution " "keyword:`except` keyword, the except clause is executed, and then execution "
"continues after the :keyword:`try` statement." "continues after the :keyword:`try` statement."
msgstr "" msgstr ""
"Si une exception intervient pendant l'exécution de la clause 'try', le reste " "si une exception intervient pendant l'exécution de la clause ``try``, le reste "
"de cette clause est sauté. Si son type correspond à un nom d'exception " "de cette clause est sauté. Si le type d'exception levée correspond à un nom "
"indiqué après le mot-clé :keyword:`except`, la clause 'except' " "indiqué après le mot-clé :keyword:`except`, la clause ``except`` "
"correspondante est exécutée, puis l'exécution continue après l'instruction :" "correspondante est exécutée, puis l'exécution continue après l'instruction :"
"keyword:`try`." "keyword:`try` ;"
#: ../Doc/tutorial/errors.rst:109 #: ../Doc/tutorial/errors.rst:109
msgid "" msgid ""
@ -191,8 +192,8 @@ msgid ""
"handler is found, it is an *unhandled exception* and execution stops with a " "handler is found, it is an *unhandled exception* and execution stops with a "
"message as shown above." "message as shown above."
msgstr "" msgstr ""
"Si une exception intervient qui ne corresponde à aucune exception mentionnée " "si une exception intervient et ne correspond à aucune exception mentionnée "
"dans la clause 'except', elle est transmise à l'instruction :keyword:`try` " "dans la clause ``except``, elle est transmise à l'instruction :keyword:`try` "
"de niveau supérieur ; si aucun gestionnaire d'exception n'est trouvé, il " "de niveau supérieur ; si aucun gestionnaire d'exception n'est trouvé, il "
"s'agit d'une *exception non gérée* et l'exécution s'arrête avec un message " "s'agit d'une *exception non gérée* et l'exécution s'arrête avec un message "
"comme indiqué ci-dessus." "comme indiqué ci-dessus."
@ -205,13 +206,13 @@ msgid ""
"not in other handlers of the same :keyword:`try` statement. An except " "not in other handlers of the same :keyword:`try` statement. An except "
"clause may name multiple exceptions as a parenthesized tuple, for example::" "clause may name multiple exceptions as a parenthesized tuple, for example::"
msgstr "" msgstr ""
"Une instruction :keyword:`try` peut comporter plusieurs clauses except, pour " "Une instruction :keyword:`try` peut comporter plusieurs clauses ``except`` "
"permettre la prise en charge de différentes exceptions. Mais un seul " "pour permettre la prise en charge de différentes exceptions. Mais un seul "
"gestionnaire, au plus, sera exécuté. Les gestionnaires ne prennent en charge " "gestionnaire, au plus, sera exécuté. Les gestionnaires ne prennent en charge "
"que les exceptions qui interviennent dans la clause try correspondante, pas " "que les exceptions qui interviennent dans la clause `try` correspondante, "
"dans d'autres gestionnaires de la même instruction :keyword:`try`. Mais une " "pas dans d'autres gestionnaires de la même instruction :keyword:`try`. Mais "
"même clause except peut citer plusieurs exceptions sous la forme d'un tuple " "une même clause ``except`` peut citer plusieurs exceptions sous la forme d'un "
"entre parenthèses, comme dans cet exemple : ::" "tuple entre parenthèses, comme dans cet exemple : ::"
#: ../Doc/tutorial/errors.rst:123 #: ../Doc/tutorial/errors.rst:123
msgid "" msgid ""
@ -221,18 +222,18 @@ msgid ""
"class). For example, the following code will print B, C, D in that order::" "class). For example, the following code will print B, C, D in that order::"
msgstr "" msgstr ""
"Une classe dans une clause :keyword:`except` est compatible avec une " "Une classe dans une clause :keyword:`except` est compatible avec une "
"exception si elle est de la même classe ou d'une de ses classes dérivées " "exception si elle est de la même classe ou d'une de ses classes dérivées. "
"(mais l'inverse n'est pas vrai --- une clause except spécifiant une classe " "Mais l'inverse n'est pas vrai, une clause ``except`` spécifiant une classe "
"dérivée n'est pas compatible avec une classe de base.) Par exemple, le code " "dérivée n'est pas compatible avec une classe de base. Par exemple, le code "
"suivant affichera B, C et D dans cet ordre : ::" "suivant affiche B, C et D dans cet ordre : ::"
#: ../Doc/tutorial/errors.rst:147 #: ../Doc/tutorial/errors.rst:147
msgid "" msgid ""
"Note that if the except clauses were reversed (with ``except B`` first), it " "Note that if the except clauses were reversed (with ``except B`` first), it "
"would have printed B, B, B --- the first matching except clause is triggered." "would have printed B, B, B --- the first matching except clause is triggered."
msgstr "" msgstr ""
"Notez que si les clauses except avaient été inversées (avec ``except B`` en " "Notez que si les clauses ``except`` avaient été inversées (avec ``except B`` "
"premier), il aurait affiché B, B, B --- la première clause except " "en premier), il aurait affiché B, B, B --- la première clause ``except`` "
"correspondante étant déclenchée." "correspondante étant déclenchée."
#: ../Doc/tutorial/errors.rst:150 #: ../Doc/tutorial/errors.rst:150
@ -243,12 +244,12 @@ msgid ""
"message and then re-raise the exception (allowing a caller to handle the " "message and then re-raise the exception (allowing a caller to handle the "
"exception as well)::" "exception as well)::"
msgstr "" msgstr ""
"La dernière clause except peut omettre le(s) nom(s) d'exception(s), pour " "La dernière clause ``except`` peut omettre le(s) nom(s) d'exception(s) et "
"servir de joker. C'est toutefois à utiliser avec beaucoup de précautions, " "joue alors le rôle de joker. C'est toutefois à utiliser avec beaucoup de "
"car il est très facile de masquer une vraie erreur de programmation par ce " "précautions car il est facile de masquer une vraie erreur de programmation "
"biais. Elle peut aussi être utilisée pour afficher un message d'erreur avant " "par ce biais. Elle peut aussi être utilisée pour afficher un message "
"de re-lever l'exception (en permettant à un appelant de prendre également en " "d'erreur avant de propager l'exception (en permettant à un appelant de gérer "
"charge l'exception) ::" "également l'exception) ::"
#: ../Doc/tutorial/errors.rst:169 #: ../Doc/tutorial/errors.rst:169
msgid "" msgid ""
@ -257,10 +258,11 @@ msgid ""
"for code that must be executed if the try clause does not raise an " "for code that must be executed if the try clause does not raise an "
"exception. For example::" "exception. For example::"
msgstr "" msgstr ""
"L'instruction :keyword:`try` ... :keyword:`except` a également une *clause " "L'instruction :keyword:`try` ... :keyword:`except` accepte également une "
"else* optionnelle qui, lorsqu'elle est présente, doit suivre toutes les " "*clause else* optionnelle qui, lorsqu'elle est présente, doit se placer "
"clauses except. Elle est utile pour du code qui doit être exécuté " "après toutes les clauses ``except``. Elle est utile pour du code qui doit "
"lorsqu'aucune exception n'a été levée par la clause try. Par exemple : ::" "être exécuté lorsqu'aucune exception n'a été levée par la clause try. Par "
"exemple : ::"
#: ../Doc/tutorial/errors.rst:183 #: ../Doc/tutorial/errors.rst:183
msgid "" msgid ""
@ -269,8 +271,8 @@ msgid ""
"exception that wasn't raised by the code being protected by the :keyword:" "exception that wasn't raised by the code being protected by the :keyword:"
"`try` ... :keyword:`except` statement." "`try` ... :keyword:`except` statement."
msgstr "" msgstr ""
"Il vaut mieux utiliser la clause :keyword:`else`, plutôt que d'ajouter du " "Il vaut mieux utiliser la clause :keyword:`else` plutôt que d'ajouter du "
"code à la clause :keyword:`try`, car cela évite de capturer accidentellement " "code à la clause :keyword:`try` car cela évite de capturer accidentellement "
"une exception qui n'a pas été levée par le code initialement protégé par " "une exception qui n'a pas été levée par le code initialement protégé par "
"l'instruction :keyword:`try` ... :keyword:`except`." "l'instruction :keyword:`try` ... :keyword:`except`."
@ -281,8 +283,8 @@ msgid ""
"exception type." "exception type."
msgstr "" msgstr ""
"Quand une exception intervient, une valeur peut lui être associée, que l'on " "Quand une exception intervient, une valeur peut lui être associée, que l'on "
"appelle également *l'argument* de l'exception. La présence de cet argument " "appelle *l'argument* de l'exception. La présence de cet argument et son type "
"et son type dépendent du type de l'exception." "dépendent du type de l'exception."
#: ../Doc/tutorial/errors.rst:192 #: ../Doc/tutorial/errors.rst:192
msgid "" msgid ""
@ -293,13 +295,13 @@ msgid ""
"reference ``.args``. One may also instantiate an exception first before " "reference ``.args``. One may also instantiate an exception first before "
"raising it and add any attributes to it as desired. ::" "raising it and add any attributes to it as desired. ::"
msgstr "" msgstr ""
"La clause except peut spécifier un nom de variable après le nom de " "La clause ``except`` peut spécifier un nom de variable après le nom de "
"l'exception. Cette variable est liée à une instance d'exception avec les " "l'exception. Cette variable est liée à une instance d'exception avec les "
"arguments stockés dans ``instance.args``. Pour plus de commodité, l'instance " "arguments stockés dans ``instance.args``. Pour plus de commodité, l'instance "
"de l'exception définit la méthode :meth:`__str__` afin que les arguments " "de l'exception définit la méthode :meth:`__str__` afin que les arguments "
"puissent être affichés directement sans avoir à référencer ``.args``. Il est " "puissent être affichés directement sans avoir à référencer ``.args``. Il est "
"possible de construire une exception, y ajouter ses attributs, puis la " "possible de construire une exception, y ajouter ses attributs, puis la lever "
"lancer plus tard. ::" "plus tard. ::"
#: ../Doc/tutorial/errors.rst:216 #: ../Doc/tutorial/errors.rst:216
msgid "" msgid ""
@ -342,8 +344,9 @@ msgid ""
msgstr "" msgstr ""
"Le seul argument à :keyword:`raise` indique l'exception à déclencher. Cela " "Le seul argument à :keyword:`raise` indique l'exception à déclencher. Cela "
"peut être soit une instance d'exception, soit une classe d'exception (une " "peut être soit une instance d'exception, soit une classe d'exception (une "
"classe dérivée de :class:`Exception`). Si une classe est donnée, elle sera " "classe dérivée de :class:`Exception`). Si une classe est donnée, elle est "
"implicitement instanciée via l'appel de son constructeur, sans arguments : ::" "implicitement instanciée *via* l'appel de son constructeur, sans "
"argument : ::"
#: ../Doc/tutorial/errors.rst:254 #: ../Doc/tutorial/errors.rst:254
msgid "" msgid ""
@ -351,9 +354,9 @@ msgid ""
"handle it, a simpler form of the :keyword:`raise` statement allows you to re-" "handle it, a simpler form of the :keyword:`raise` statement allows you to re-"
"raise the exception::" "raise the exception::"
msgstr "" msgstr ""
"Si vous devez savoir qu'une exception a été levée mais sans intention de la " "Si vous avez besoin de savoir si une exception a été levée mais que vous "
"prendre en charge, une forme plus simple de l'instruction :keyword:`raise` " "n'avez pas intention de la gérer, une forme plus simple de l'instruction :"
"permet de re-déclencher l'exception : ::" "keyword:`raise` permet de propager l'exception : ::"
#: ../Doc/tutorial/errors.rst:273 #: ../Doc/tutorial/errors.rst:273
msgid "User-defined Exceptions" msgid "User-defined Exceptions"
@ -382,12 +385,12 @@ msgid ""
"error conditions::" "error conditions::"
msgstr "" msgstr ""
"Les classes d'exceptions peuvent être définies pour faire tout ce qu'une " "Les classes d'exceptions peuvent être définies pour faire tout ce qu'une "
"autre classe peut faire. Mais elles sont le plus souvent assez simples, " "autre classe peut faire. Elles sont le plus souvent gardées assez simples, "
"n'offrant que les attributs permettant aux gestionnaires de ces exceptions " "n'offrant que les attributs permettant aux gestionnaires de ces exceptions "
"d'extraire les informations relatives à l'erreur qui s'est produite. Lorsque " "d'extraire les informations relatives à l'erreur qui s'est produite. Lorsque "
"l'on crée un module qui peut déclencher plusieurs types d'erreurs distincts, " "l'on crée un module qui peut déclencher plusieurs types d'erreurs distincts, "
"une pratique courante est de créer une classe de base pour l'ensemble des " "une pratique courante est de créer une classe de base pour l'ensemble des "
"exceptions définies dans ce module, et de créer des sous-classes spécifiques " "exceptions définies dans ce module et de créer des sous-classes spécifiques "
"d'exceptions pour les différentes conditions d'erreurs : ::" "d'exceptions pour les différentes conditions d'erreurs : ::"
#: ../Doc/tutorial/errors.rst:317 #: ../Doc/tutorial/errors.rst:317
@ -396,7 +399,7 @@ msgid ""
"naming of the standard exceptions." "naming of the standard exceptions."
msgstr "" msgstr ""
"La plupart des exceptions sont définies avec des noms qui se terminent par " "La plupart des exceptions sont définies avec des noms qui se terminent par "
"\"Error\", comme pour les exceptions standards." "\"Error\", comme les exceptions standards."
#: ../Doc/tutorial/errors.rst:320 #: ../Doc/tutorial/errors.rst:320
msgid "" msgid ""
@ -404,10 +407,10 @@ msgid ""
"occur in functions they define. More information on classes is presented in " "occur in functions they define. More information on classes is presented in "
"chapter :ref:`tut-classes`." "chapter :ref:`tut-classes`."
msgstr "" msgstr ""
"La plupart des modules standards définissent leurs propres exceptions pour " "Beaucoup de modules standards définissent leurs propres exceptions pour "
"décrire les erreurs que l'on peut rencontrer dans les fonctions qu'ils " "signaler les erreurs possibles dans les fonctions qu'ils définissent. Plus "
"définissent. Plus d'informations sur les classes sont présentées dans le " "d'informations sur les classes sont présentées dans le chapitre :ref:`tut-"
"chapitre :ref:`tut-classes`." "classes`."
#: ../Doc/tutorial/errors.rst:328 #: ../Doc/tutorial/errors.rst:328
msgid "Defining Clean-up Actions" msgid "Defining Clean-up Actions"
@ -436,15 +439,15 @@ msgid ""
"more complicated example::" "more complicated example::"
msgstr "" msgstr ""
"Une *clause finally* est toujours exécutée avant de quitter l'instruction :" "Une *clause finally* est toujours exécutée avant de quitter l'instruction :"
"keyword:`try`, qu'une exception ait été déclenchée ou non. Quand " "keyword:`try`, qu'une exception ait été levée ou non. Quand une exception a "
"uneexception a été déclenchée dans la clause :keyword:`try` et n'a pas été " "été levée dans la clause :keyword:`try` et n'a pas été prise en charge par "
"prise en charge par une clause :keyword:`except` (ou si elle a été " "une clause :keyword:`except` (ou si elle a été levée dans une clause :"
"déclenchée dans une clause :keyword:`except` ou :keyword:`else`), elle est " "keyword:`except` ou :keyword:`else`), elle est propagée après l'exécution de "
"re-déclenchée après l'exécution de la clause :keyword:`finally`. La clause :" "la clause :keyword:`finally`. La clause :keyword:`finally` est également "
"keyword:`finally` est également exécutée \"à la sortie\" quand " "exécutée \"à la sortie\" quand n'importe quelle autre clause de "
"n'importequelle autre clause de l'instruction :keyword:`try` est abandonnée " "l'instruction :keyword:`try` est abandonnée par une instruction :keyword:"
"par une instruction :keyword:`break`, :keyword:`continue` ou :keyword:" "`break`, :keyword:`continue` ou :keyword:`return`. Voici un exemple plus "
"`return`. Voici un exemple plus compliqué : ::" "compliqué : ::"
#: ../Doc/tutorial/errors.rst:377 #: ../Doc/tutorial/errors.rst:377
msgid "" msgid ""
@ -454,10 +457,10 @@ msgid ""
"clause has been executed." "clause has been executed."
msgstr "" msgstr ""
"Comme vous pouvez le voir, la clause :keyword:`finally` est exécutée dans " "Comme vous pouvez le voir, la clause :keyword:`finally` est exécutée dans "
"tous les cas. L'exception de type :exc:`TypeError` déclenchée en divisant " "tous les cas. L'exception de type :exc:`TypeError`, déclenchée en divisant "
"deux chaînes de caractères n'est pas prise en charge par la clause :keyword:" "deux chaînes de caractères, n'est pas prise en charge par la clause :keyword:"
"`except` et est donc re-déclenchée après que la clause :keyword:`finally` " "`except` et est donc propagée après que la clause :keyword:`finally` a été "
"ait été exécutée." "exécutée."
#: ../Doc/tutorial/errors.rst:382 #: ../Doc/tutorial/errors.rst:382
msgid "" msgid ""
@ -465,9 +468,9 @@ msgid ""
"releasing external resources (such as files or network connections), " "releasing external resources (such as files or network connections), "
"regardless of whether the use of the resource was successful." "regardless of whether the use of the resource was successful."
msgstr "" msgstr ""
"Dans les vraies applicatons, la clause :keyword:`finally` est notamment " "Dans les vraies applications, la clause :keyword:`finally` est notamment "
"utile pour libérer des ressources externes (telles que des fichiers ou des " "utile pour libérer des ressources externes (telles que des fichiers ou des "
"connections réseau), que l'utilisation de ces ressources ait réussi ou non." "connexions réseau), quelle qu'ait été l'utilisation de ces ressources."
#: ../Doc/tutorial/errors.rst:390 #: ../Doc/tutorial/errors.rst:390
msgid "Predefined Clean-up Actions" msgid "Predefined Clean-up Actions"
@ -496,7 +499,7 @@ msgid ""
"correctly. ::" "correctly. ::"
msgstr "" msgstr ""
"Le problème avec ce code est qu'il laisse le fichier ouvert pendant une " "Le problème avec ce code est qu'il laisse le fichier ouvert pendant une "
"durée indéterminée après que le code ait fini de s'exécuter. Ce n'est pas un " "durée indéterminée après que le code a fini de s'exécuter. Ce n'est pas un "
"problème avec des scripts simples, mais peut l'être au sein d'applications " "problème avec des scripts simples, mais peut l'être au sein d'applications "
"plus conséquentes. L'instruction :keyword:`with` permet d'utiliser certains " "plus conséquentes. L'instruction :keyword:`with` permet d'utiliser certains "
"objets comme des fichiers d'une façon qui assure qu'ils seront toujours " "objets comme des fichiers d'une façon qui assure qu'ils seront toujours "
@ -509,7 +512,7 @@ msgid ""
"files, provide predefined clean-up actions will indicate this in their " "files, provide predefined clean-up actions will indicate this in their "
"documentation." "documentation."
msgstr "" msgstr ""
"Dès que l'instruction est exécutée, le fichier *f* est toujours fermé, même " "Après l'exécution du bloc, le fichier *f* est toujours fermé, "
"si un problème est survenu pendant l'exécution de ces lignes. D'autres " "même si un problème est survenu pendant l'exécution de ces lignes. D'autres "
"objets qui, comme pour les fichiers, fournissent des actions de nettoyage " "objets qui, comme pour les fichiers, fournissent des actions de nettoyage "
"prédéfinies l'indiquent dans leur documentation." "prédéfinies l'indiquent dans leur documentation."