# Copyright (C) 2001-2020, Python Software Foundation
# This file is distributed under the same license as the Python package.
# Maintained by the python-doc-es workteam.
# docs-es@python.org /
# https://mail.python.org/mailman3/lists/docs-es.python.org/
# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to
# get the list of volunteers
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2021-11-26 15:03+0100\n"
"Last-Translator: Cristin Maureira-Fredes \n"
"Language: es\n"
"Language-Team: python-doc-es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
"X-Generator: Poedit 3.0\n"
#: ../Doc/tutorial/errors.rst:5
msgid "Errors and Exceptions"
msgstr "Errores y excepciones"
#: ../Doc/tutorial/errors.rst:7
msgid ""
"Until now error messages haven't been more than mentioned, but if you have "
"tried out the examples you have probably seen some. There are (at least) "
"two distinguishable kinds of errors: *syntax errors* and *exceptions*."
msgstr ""
"Hasta ahora los mensajes de error apenas haban sido mencionados, pero si "
"has probado los ejemplos anteriores probablemente hayas visto algunos. Hay "
"(al menos) dos tipos diferentes de errores: *errores de sintaxis* y "
"*excepciones*."
#: ../Doc/tutorial/errors.rst:15
msgid "Syntax Errors"
msgstr "Errores de sintaxis"
#: ../Doc/tutorial/errors.rst:17
msgid ""
"Syntax errors, also known as parsing errors, are perhaps the most common "
"kind of complaint you get while you are still learning Python::"
msgstr ""
"Los errores de sintaxis, tambin conocidos como errores de interpretacin, "
"son quizs el tipo de queja ms comn que tens cuando todava ests "
"aprendiendo Python::"
#: ../Doc/tutorial/errors.rst:26
msgid ""
"The parser repeats the offending line and displays a little 'arrow' pointing "
"at the earliest point in the line where the error was detected. The error "
"is caused by (or at least detected at) the token *preceding* the arrow: in "
"the example, the error is detected at the function :func:`print`, since a "
"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."
msgstr ""
"El intrprete reproduce la lnea responsable del error y muestra una pequea "
"'flecha' que apunta al primer lugar donde se detect el error. El error ha "
"sido provocado (o al menos detectado) en el elemento que *precede* a la "
"flecha: en el ejemplo, el error se detecta en la funcin :func:`print`, ya "
"que faltan dos puntos (``':'``) antes del mismo. Se muestran el nombre del "
"archivo y el nmero de lnea para que sepas dnde mirar en caso de que la "
"entrada venga de un programa."
#: ../Doc/tutorial/errors.rst:37
msgid "Exceptions"
msgstr "Excepciones"
#: ../Doc/tutorial/errors.rst:39
msgid ""
"Even if a statement or expression is syntactically correct, it may cause an "
"error when an attempt is made to execute it. Errors detected during "
"execution are called *exceptions* and are not unconditionally fatal: you "
"will soon learn how to handle them in Python programs. Most exceptions are "
"not handled by programs, however, and result in error messages as shown "
"here::"
msgstr ""
"Incluso si una declaracin o expresin es sintcticamente correcta, puede "
"generar un error cuando se intenta ejecutar. Los errores detectados durante "
"la ejecucin se llaman *excepciones*, y no son incondicionalmente fatales: "
"pronto aprenders a gestionarlos en programas Python. Sin embargo, la "
"mayora de las excepciones no son gestionadas por el cdigo, y resultan en "
"mensajes de error como los mostrados aqu::"
#: ../Doc/tutorial/errors.rst:58
msgid ""
"The last line of the error message indicates what happened. Exceptions come "
"in different types, and the type is printed as part of the message: the "
"types in the example are :exc:`ZeroDivisionError`, :exc:`NameError` and :exc:"
"`TypeError`. The string printed as the exception type is the name of the "
"built-in exception that occurred. This is true for all built-in exceptions, "
"but need not be true for user-defined exceptions (although it is a useful "
"convention). Standard exception names are built-in identifiers (not reserved "
"keywords)."
msgstr ""
"La ltima lnea de los mensajes de error indica qu ha sucedido. Hay "
"excepciones de diferentes tipos, y el tipo se imprime como parte del "
"mensaje: los tipos en el ejemplo son: :exc:`ZeroDivisionError`, :exc:"
"`NameError` y :exc:`TypeError`. La cadena mostrada como tipo de la "
"excepcin es el nombre de la excepcin predefinida que ha ocurrido. Esto es "
"vlido para todas las excepciones predefinidas del intrprete, pero no tiene "
"por que ser as para excepciones definidas por el usuario (aunque es una "
"convencin til). Los nombres de las excepciones estndar son "
"identificadores incorporados al intrprete (no son palabras clave "
"reservadas)."
#: ../Doc/tutorial/errors.rst:66
msgid ""
"The rest of the line provides detail based on the type of exception and what "
"caused it."
msgstr ""
"El resto de la lnea provee informacin basado en el tipo de la excepcin y "
"qu la caus."
#: ../Doc/tutorial/errors.rst:69
msgid ""
"The preceding part of the error message shows the context where the "
"exception occurred, in the form of a stack traceback. In general it contains "
"a stack traceback listing source lines; however, it will not display lines "
"read from standard input."
msgstr ""
"La parte anterior del mensaje de error muestra el contexto donde ocurri la "
"excepcin, en forma de seguimiento de pila. En general, contiene un "
"seguimiento de pila que enumera las lneas de origen; sin embargo, no "
"mostrar las lneas ledas desde la entrada estndar."
#: ../Doc/tutorial/errors.rst:74
msgid ""
":ref:`bltin-exceptions` lists the built-in exceptions and their meanings."
msgstr ""
":ref:`bltin-exceptions` lista las excepciones predefinidas y sus "
"significados."
#: ../Doc/tutorial/errors.rst:80
msgid "Handling Exceptions"
msgstr "Gestionando excepciones"
#: ../Doc/tutorial/errors.rst:82
msgid ""
"It is possible to write programs that handle selected exceptions. Look at "
"the following example, which asks the user for input until a valid integer "
"has been entered, but allows the user to interrupt the program (using :kbd:"
"`Control-C` or whatever the operating system supports); note that a user-"
"generated interruption is signalled by raising the :exc:`KeyboardInterrupt` "
"exception. ::"
msgstr ""
"Es posible escribir programas que gestionen determinadas excepciones. Vase "
"el siguiente ejemplo, que le pide al usuario una entrada hasta que ingrese "
"un entero vlido, pero permite al usuario interrumpir el programa (usando :"
"kbd:`Control-C` o lo que soporte el sistema operativo); ntese que una "
"interrupcin generada por el usuario es sealizada generando la excepcin :"
"exc:`KeyboardInterrupt`. ::"
#: ../Doc/tutorial/errors.rst:96
msgid "The :keyword:`try` statement works as follows."
msgstr "La sentencia :keyword:`try` funciona de la siguiente manera."
#: ../Doc/tutorial/errors.rst:98
msgid ""
"First, the *try clause* (the statement(s) between the :keyword:`try` and :"
"keyword:`except` keywords) is executed."
msgstr ""
"Primero, se ejecuta la clusula *try* (la(s) linea(s) entre las palabras "
"reservadas :keyword:`try` y la :keyword:`except`)."
#: ../Doc/tutorial/errors.rst:101
msgid ""
"If no exception occurs, the *except clause* is skipped and execution of the :"
"keyword:`try` statement is finished."
msgstr ""
"Si no ocurre ninguna excepcin, la clusula *except* se omite y la ejecucin "
"de la clusula :keyword:`try` finaliza."
#: ../Doc/tutorial/errors.rst:104
msgid ""
"If an exception occurs during execution of the :keyword:`try` clause, the "
"rest of the clause is skipped. Then, if its type matches the exception "
"named after the :keyword:`except` keyword, the *except clause* is executed, "
"and then execution continues after the try/except block."
msgstr ""
"Si ocurre una excepcin durante la ejecucin de la clusula :keyword:`try`, "
"se omite el resto de la clusula. Luego, si su tipo coincide con la "
"excepcin nombrada despus de la palabra clave :keyword:`except`, se ejecuta "
"la *clusula except*, y luego la ejecucin contina despus del bloque try/"
"except."
#: ../Doc/tutorial/errors.rst:109
msgid ""
"If an exception occurs which does not match the exception named in the "
"*except clause*, it is passed on to outer :keyword:`try` statements; if no "
"handler is found, it is an *unhandled exception* and execution stops with a "
"message as shown above."
msgstr ""
"Si ocurre una excepcin que no coincide con la indicada en la *clusula "
"except* se pasa a los :keyword:`try` ms externos; si no se encuentra un "
"gestor, se genera una *unhandled exception* (excepcin no gestionada) y la "
"ejecucin se interrumpe con un mensaje como el que se muestra arriba."
#: ../Doc/tutorial/errors.rst:114
msgid ""
"A :keyword:`try` statement may have more than one *except clause*, to "
"specify handlers for different exceptions. At most one handler will be "
"executed. Handlers only handle exceptions that occur in the corresponding "
"*try clause*, not in other handlers of the same :keyword:`!try` statement. "
"An *except clause* may name multiple exceptions as a parenthesized tuple, "
"for example::"
msgstr ""
"Una declaracin :keyword:`try` puede tener ms de una *clusula except*, "
"para especificar gestores para diferentes excepciones. Como mximo, se "
"ejecutar un gestor. Los gestores solo manejan las excepciones que ocurren "
"en la *clusula try* correspondiente, no en otros gestores de la misma "
"declaracin :keyword:`!try`. Una *clusula except* puede nombrar mltiples "
"excepciones como una tupla entre parntesis, por ejemplo:"
#: ../Doc/tutorial/errors.rst:123
msgid ""
"A class in an :keyword:`except` clause is compatible with an exception if it "
"is the same class or a base class thereof (but not the other way around --- "
"an *except clause* listing a derived class is not compatible with a base "
"class). For example, the following code will print B, C, D in that order::"
msgstr ""
"Una clase en una clusula :keyword:`except` es compatible con una excepcin "
"si es de la misma clase o de una clase derivada de la misma (pero no de la "
"otra manera --- una *clusula except* listando una clase derivada no es "
"compatible con una clase base). Por ejemplo, el siguiente cdigo imprimir "
"B, C y D, en ese orden::"
#: ../Doc/tutorial/errors.rst:147
msgid ""
"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."
msgstr ""
"Ntese que si las *clusulas except* estuvieran invertidas (con ``except B`` "
"primero), habra impreso B, B, B --- se usa la primera *clusula except* "
"coincidente."
#: ../Doc/tutorial/errors.rst:150
msgid ""
"All exceptions inherit from :exc:`BaseException`, and so it can be used to "
"serve as a wildcard. Use this with extreme caution, since it is easy to mask "
"a real programming error in this way! It can also be used to print an error "
"message and then re-raise the exception (allowing a caller to handle the "
"exception as well)::"
msgstr ""
"Todas las excepciones heredan de :exc:`BaseException`, por lo que se puede "
"utilizar como comodn. Use esto con extrema precaucin, ya que es fcil "
"enmascarar un error de programacin real de esta manera! Tambin se puede "
"usar para imprimir un mensaje de error y luego volver a generar la excepcin "
"(permitiendo que la funcin que llama tambin maneje la excepcin):"
#: ../Doc/tutorial/errors.rst:169
msgid ""
"Alternatively the last except clause may omit the exception name(s), however "
"the exception value must then be retrieved from ``sys.exc_info()[1]``."
msgstr ""
"Alternativamente, la ltima clusula except puede omitir el(los) nombre(s) "
"de excepcin, sin embargo, el valor de la excepcin debe recuperarse de "
"``sys.exc_info()[1]``."
#: ../Doc/tutorial/errors.rst:172
msgid ""
"The :keyword:`try` ... :keyword:`except` statement has an optional *else "
"clause*, which, when present, must follow all *except clauses*. It is "
"useful for code that must be executed if the *try clause* does not raise an "
"exception. For example::"
msgstr ""
"La declaracin :keyword:`try` ... :keyword:`except` tiene una *clusula "
"else* opcional, que, cuando est presente, debe seguir todas las *clusulas "
"except*. Es til para el cdigo que debe ejecutarse si la *clusula try* no "
"lanza una excepcin. Por ejemplo::"
#: ../Doc/tutorial/errors.rst:186
msgid ""
"The use of the :keyword:`!else` clause is better than adding additional code "
"to the :keyword:`try` clause because it avoids accidentally catching an "
"exception that wasn't raised by the code being protected by the :keyword:`!"
"try` ... :keyword:`!except` statement."
msgstr ""
"El uso de la clusula :keyword:`!else` es mejor que agregar cdigo adicional "
"en la clusula :keyword:`try` porque evita capturar accidentalmente una "
"excepcin que no fue generada por el cdigo que est protegido por la "
"declaracin :keyword:`!try` ... :keyword:`!except`."
#: ../Doc/tutorial/errors.rst:191
msgid ""
"When an exception occurs, it may have an associated value, also known as the "
"exception's *argument*. The presence and type of the argument depend on the "
"exception type."
msgstr ""
"Cuando ocurre una excepcin, puede tener un valor asociado, tambin conocido "
"como el *argumento* de la excepcin. La presencia y el tipo de argumento "
"depende del tipo de excepcin."
#: ../Doc/tutorial/errors.rst:195
msgid ""
"The *except clause* may specify a variable after the exception name. The "
"variable is bound to an exception instance with the arguments stored in "
"``instance.args``. For convenience, the exception instance defines :meth:"
"`__str__` so the arguments can be printed directly without having to "
"reference ``.args``. One may also instantiate an exception first before "
"raising it and add any attributes to it as desired. ::"
msgstr ""
"La *clusula except* puede especificar una variable despus del nombre de la "
"excepcin. La variable est vinculada a una instancia de excepcin con los "
"argumentos almacenados en ``instance.args``. Por conveniencia, la instancia "
"de excepcin define :meth:`__str__` para que los argumentos se puedan "
"imprimir directamente sin tener que hacer referencia a ``.args``. Tambin se "
"puede crear una instancia de una excepcin antes de generarla y agregarle "
"los atributos que desee. ::"
#: ../Doc/tutorial/errors.rst:219
msgid ""
"If an exception has arguments, they are printed as the last part ('detail') "
"of the message for unhandled exceptions."
msgstr ""
"Si una excepcin tiene argumentos, estos se imprimen como en la parte final "
"(el 'detalle') del mensaje para las excepciones no gestionadas ('*Unhandled "
"exception*')."
#: ../Doc/tutorial/errors.rst:222
msgid ""
"Exception handlers don't just handle exceptions if they occur immediately in "
"the *try clause*, but also if they occur inside functions that are called "
"(even indirectly) in the *try clause*. For example::"
msgstr ""
"Los gestores de excepciones no solo gestionan las excepciones si ocurren "
"inmediatamente en la *clusula try*, sino tambin si ocurren dentro de "
"funciones que son llamadas (incluso indirectamente) en la *clusula try*. "
"Por ejemplo::"
#: ../Doc/tutorial/errors.rst:240
msgid "Raising Exceptions"
msgstr "Lanzando excepciones"
#: ../Doc/tutorial/errors.rst:242
msgid ""
"The :keyword:`raise` statement allows the programmer to force a specified "
"exception to occur. For example::"
msgstr ""
"La declaracin :keyword:`raise` permite al programador forzar a que ocurra "
"una excepcin especfica. Por ejemplo::"
#: ../Doc/tutorial/errors.rst:250
msgid ""
"The sole argument to :keyword:`raise` indicates the exception to be raised. "
"This must be either an exception instance or an exception class (a class "
"that derives from :class:`Exception`). If an exception class is passed, it "
"will be implicitly instantiated by calling its constructor with no "
"arguments::"
msgstr ""
"El nico argumento de :keyword:`raise` indica la excepcin a generarse. "
"Tiene que ser o una instancia de excepcin, o una clase de excepcin (una "
"clase que hereda de :class:`Exception`). Si se pasa una clase de excepcin, "
"la misma ser instanciada implcitamente llamando a su constructor sin "
"argumentos::"
#: ../Doc/tutorial/errors.rst:257
msgid ""
"If you need to determine whether an exception was raised but don't intend to "
"handle it, a simpler form of the :keyword:`raise` statement allows you to re-"
"raise the exception::"
msgstr ""
"Si es necesario determinar si una excepcin fue lanzada pero sin intencin "
"de gestionarla, una versin simplificada de la instruccin :keyword:`raise` "
"te permite relanzarla::"
#: ../Doc/tutorial/errors.rst:276
msgid "Exception Chaining"
msgstr "Encadenamiento de excepciones"
#: ../Doc/tutorial/errors.rst:278
msgid ""
"The :keyword:`raise` statement allows an optional :keyword:`from` "
"which enables chaining exceptions. For example::"
msgstr ""
"La declaracin :keyword:`raise` permite una palabra clave opcional :keyword:"
"`from` que habilita el encadenamiento de excepciones. Por ejemplo::"
#: ../Doc/tutorial/errors.rst:284
msgid "This can be useful when you are transforming exceptions. For example::"
msgstr ""
"Esto puede resultar til cuando est transformando excepciones. Por ejemplo::"
#: ../Doc/tutorial/errors.rst:305
msgid ""
"Exception chaining happens automatically when an exception is raised inside "
"an :keyword:`except` or :keyword:`finally` section. This can be disabled by "
"using ``from None`` idiom:"
msgstr ""
"El encadenamiento de excepciones ocurre automticamente cuando se lanza una "
"excepcin dentro de una seccin :keyword:`except` o :keyword:`finally`. Esto "
"se puede desactivar usando el modismo ``from None``:"
#: ../Doc/tutorial/errors.rst:318
msgid ""
"For more information about chaining mechanics, see :ref:`bltin-exceptions`."
msgstr ""
"Para obtener ms informacin sobre la mecnica del encadenamiento, consulte :"
"ref:`bltin-exceptions`."
#: ../Doc/tutorial/errors.rst:324
msgid "User-defined Exceptions"
msgstr "Excepciones definidas por el usuario"
#: ../Doc/tutorial/errors.rst:326
msgid ""
"Programs may name their own exceptions by creating a new exception class "
"(see :ref:`tut-classes` for more about Python classes). Exceptions should "
"typically be derived from the :exc:`Exception` class, either directly or "
"indirectly."
msgstr ""
"Los programas pueden nombrar sus propias excepciones creando una nueva clase "
"excepcin (mir :ref:`tut-classes` para ms informacin sobre las clases de "
"Python). Las excepciones, tpicamente, debern derivar de la clase :exc:"
"`Exception`, directa o indirectamente."
#: ../Doc/tutorial/errors.rst:330
msgid ""
"Exception classes can be defined which do anything any other class can do, "
"but are usually kept simple, often only offering a number of attributes that "
"allow information about the error to be extracted by handlers for the "
"exception. When creating a module that can raise several distinct errors, a "
"common practice is to create a base class for exceptions defined by that "
"module, and subclass that to create specific exception classes for different "
"error conditions::"
msgstr ""
"Las clases de Excepcin pueden ser definidas de la misma forma que cualquier "
"otra clase, pero es habitual mantenerlas lo ms simples posible, a menudo "
"ofreciendo solo un nmero de atributos con informacin sobre el error que "
"leern los gestores de la excepcin. Al crear un mdulo que puede lanzar "
"varios errores distintos, una prctica comn es crear una clase base para "
"excepciones definidas en ese mdulo y extenderla para crear clases "
"excepciones especficas para distintas condiciones de error::"
#: ../Doc/tutorial/errors.rst:368
msgid ""
"Most exceptions are defined with names that end in \"Error\", similar to the "
"naming of the standard exceptions."
msgstr ""
"La mayora de las excepciones se definen con nombres acabados en \"Error\", "
"de manera similar a la nomenclatura de las excepciones estndar."
#: ../Doc/tutorial/errors.rst:371
msgid ""
"Many standard modules define their own exceptions to report errors that may "
"occur in functions they define. More information on classes is presented in "
"chapter :ref:`tut-classes`."
msgstr ""
"Muchos mdulos estndar definen sus propias excepciones para reportar "
"errores que pueden ocurrir en funciones propias. Se puede encontrar ms "
"informacin sobre clases en el captulo :ref:`tut-classes`."
#: ../Doc/tutorial/errors.rst:379
msgid "Defining Clean-up Actions"
msgstr "Definiendo acciones de limpieza"
#: ../Doc/tutorial/errors.rst:381
msgid ""
"The :keyword:`try` statement has another optional clause which is intended "
"to define clean-up actions that must be executed under all circumstances. "
"For example::"
msgstr ""
"La declaracin :keyword:`try` tiene otra clusula opcional cuyo propsito es "
"definir acciones de limpieza que sern ejecutadas bajo ciertas "
"circunstancias. Por ejemplo::"
#: ../Doc/tutorial/errors.rst:395
msgid ""
"If a :keyword:`finally` clause is present, the :keyword:`!finally` clause "
"will execute as the last task before the :keyword:`try` statement completes. "
"The :keyword:`!finally` clause runs whether or not the :keyword:`!try` "
"statement produces an exception. The following points discuss more complex "
"cases when an exception occurs:"
msgstr ""
"Si una clusula :keyword:`finally` est presente, el bloque :keyword:`!"
"finally` se ejecutar al final antes de que todo el bloque :keyword:`try` se "
"complete. La clusula :keyword:`!finally` se ejecuta independientemente de "
"que la clusula :keyword:`!try` produzca o no una excepcin. Los siguientes "
"puntos explican casos ms complejos en los que se produce una excepcin:"
#: ../Doc/tutorial/errors.rst:401
msgid ""
"If an exception occurs during execution of the :keyword:`!try` clause, the "
"exception may be handled by an :keyword:`except` clause. If the exception is "
"not handled by an :keyword:`!except` clause, the exception is re-raised "
"after the :keyword:`!finally` clause has been executed."
msgstr ""
"Si ocurre una excepcin durante la ejecucin de la clusula :keyword:`!try`, "
"la excepcin podra ser gestionada por una clusula :keyword:`except`. Si la "
"excepcin no es gestionada por una clusula :keyword:`!except`, la excepcin "
"es relanzada despus de que se ejecute el bloque de la clusula :keyword:`!"
"finally`."
#: ../Doc/tutorial/errors.rst:407
msgid ""
"An exception could occur during execution of an :keyword:`!except` or :"
"keyword:`!else` clause. Again, the exception is re-raised after the :keyword:"
"`!finally` clause has been executed."
msgstr ""
"Podra aparecer una excepcin durante la ejecucin de una clusula :keyword:"
"`!except` o :keyword:`!else`. De nuevo, la excepcin ser relanzada despus "
"de que el bloque de la clusula :keyword:`!finally` se ejecute."
#: ../Doc/tutorial/errors.rst:411
msgid ""
"If the :keyword:`!finally` clause executes a :keyword:`break`, :keyword:"
"`continue` or :keyword:`return` statement, exceptions are not re-raised."
msgstr ""
"Si la clusula :keyword:`!finally` ejecuta una declaracin :keyword:"
"`break`, :keyword:`continue` o :keyword:`return`, las excepciones no se "
"vuelven a lanzar."
#: ../Doc/tutorial/errors.rst:415
msgid ""
"If the :keyword:`!try` statement reaches a :keyword:`break`, :keyword:"
"`continue` or :keyword:`return` statement, the :keyword:`!finally` clause "
"will execute just prior to the :keyword:`!break`, :keyword:`!continue` or :"
"keyword:`!return` statement's execution."
msgstr ""
"Si el bloque :keyword:`!try` llega a una sentencia :keyword:`break`, :"
"keyword:`continue` o :keyword:`return`, la clusula :keyword:`!finally` se "
"ejecutar justo antes de la ejecucin de dicha sentencia."
#: ../Doc/tutorial/errors.rst:421
msgid ""
"If a :keyword:`!finally` clause includes a :keyword:`!return` statement, the "
"returned value will be the one from the :keyword:`!finally` clause's :"
"keyword:`!return` statement, not the value from the :keyword:`!try` "
"clause's :keyword:`!return` statement."
msgstr ""
"Si una clusula :keyword:`!finally` incluye una sentencia :keyword:`!"
"return`, el valor retornado ser el de la clusula :keyword:`!finally`, no "
"la del de la sentencia :keyword:`!return` de la clusula :keyword:`!try`."
#: ../Doc/tutorial/errors.rst:427
msgid "For example::"
msgstr "Por ejemplo::"
#: ../Doc/tutorial/errors.rst:438
msgid "A more complicated example::"
msgstr "Un ejemplo ms complicado::"
#: ../Doc/tutorial/errors.rst:463
msgid ""
"As you can see, the :keyword:`finally` clause is executed in any event. "
"The :exc:`TypeError` raised by dividing two strings is not handled by the :"
"keyword:`except` clause and therefore re-raised after the :keyword:`!"
"finally` clause has been executed."
msgstr ""
"Como se puede ver, la clusula :keyword:`finally` siempre se ejecuta. La "
"excepcin :exc:`TypeError` lanzada al dividir dos cadenas de texto no es "
"gestionado por la clusula :keyword:`except` y por lo tanto es relanzada "
"luego de que se ejecuta la clusula :keyword:`!finally`."
#: ../Doc/tutorial/errors.rst:468
msgid ""
"In real world applications, the :keyword:`finally` clause is useful for "
"releasing external resources (such as files or network connections), "
"regardless of whether the use of the resource was successful."
msgstr ""
"En aplicaciones reales, la clusula :keyword:`finally` es til para liberar "
"recursos externos (como archivos o conexiones de red), sin importar si el "
"uso del recurso fue exitoso."
#: ../Doc/tutorial/errors.rst:476
msgid "Predefined Clean-up Actions"
msgstr "Acciones predefinidas de limpieza"
#: ../Doc/tutorial/errors.rst:478
msgid ""
"Some objects define standard clean-up actions to be undertaken when the "
"object is no longer needed, regardless of whether or not the operation using "
"the object succeeded or failed. Look at the following example, which tries "
"to open a file and print its contents to the screen. ::"
msgstr ""
"Algunos objetos definen acciones de limpieza estndar para llevar a cabo "
"cuando el objeto ya no necesario, independientemente de que las operaciones "
"sobre el objeto hayan sido exitosas o no. Vase el siguiente ejemplo, que "
"intenta abrir un archivo e imprimir su contenido en la pantalla. ::"
#: ../Doc/tutorial/errors.rst:486
msgid ""
"The problem with this code is that it leaves the file open for an "
"indeterminate amount of time after this part of the code has finished "
"executing. This is not an issue in simple scripts, but can be a problem for "
"larger applications. The :keyword:`with` statement allows objects like files "
"to be used in a way that ensures they are always cleaned up promptly and "
"correctly. ::"
msgstr ""
"El problema con este cdigo es que deja el archivo abierto por un periodo de "
"tiempo indeterminado luego de que esta parte termine de ejecutarse. Esto no "
"es un problema en *scripts* simples, pero puede ser un problema en "
"aplicaciones ms grandes. La declaracin :keyword:`with` permite que los "
"objetos como archivos sean usados de una forma que asegure que siempre se "
"los libera rpido y en forma correcta.::"
#: ../Doc/tutorial/errors.rst:496
msgid ""
"After the statement is executed, the file *f* is always closed, even if a "
"problem was encountered while processing the lines. Objects which, like "
"files, provide predefined clean-up actions will indicate this in their "
"documentation."
msgstr ""
"Una vez que la declaracin se ejecuta, el fichero *f* siempre se cierra, "
"incluso si aparece algn error durante el procesado de las lneas. Los "
"objetos que, como los ficheros, posean acciones predefinidas de limpieza lo "
"indicarn en su documentacin."