forked from python/python-docs-es
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patherrors.po
More file actions
617 lines (559 loc) · 28.8 KB
/
errors.po
File metadata and controls
617 lines (559 loc) · 28.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
# 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-03-19 11:16+0100\n"
"PO-Revision-Date: 2021-08-02 19:54+0200\n"
"Last-Translator: Cristián Maureira-Fredes <cmaureirafredes@gmail.com>\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.8.0\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 habían 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, también conocidos como errores de interpretación, "
"son quizás el tipo de queja más común que tenés cuando todavía estás "
"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 intérprete reproduce la línea responsable del error y muestra una pequeña "
"'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 función :func:`print`, ya "
"que faltan dos puntos (``':'``) antes del mismo. Se muestran el nombre del "
"archivo y el número de línea para que sepas dónde 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 declaración o expresión es sintácticamente correcta, puede "
"generar un error cuando se intenta ejecutar. Los errores detectados durante "
"la ejecución se llaman *excepciones*, y no son incondicionalmente fatales: "
"pronto aprenderás a gestionarlos en programas Python. Sin embargo, la "
"mayoría de las excepciones no son gestionadas por el código, 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 línea 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 "
"excepción es el nombre de la excepción predefinida que ha ocurrido. Esto es "
"válido para todas las excepciones predefinidas del intérprete, pero no tiene "
"por que ser así para excepciones definidas por el usuario (aunque es una "
"convención útil). Los nombres de las excepciones estándar son "
"identificadores incorporados al intérprete (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 línea provee información basado en el tipo de la excepción 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 "
"excepción, en forma de seguimiento de pila. En general, contiene un "
"seguimiento de pila que enumera las líneas de origen; sin embargo, no "
"mostrará las líneas leídas desde la entrada estándar."
#: ../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. Véase "
"el siguiente ejemplo, que le pide al usuario una entrada hasta que ingrese "
"un entero válido, pero permite al usuario interrumpir el programa (usando :"
"kbd:`Control-C` o lo que soporte el sistema operativo); nótese que una "
"interrupción generada por el usuario es señalizada generando la excepción :"
"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 cláusula *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 excepción, la cláusula *except* se omite y la ejecución "
"de la cláusula :keyword:`try` finaliza."
#: ../Doc/tutorial/errors.rst:104
msgid ""
"If an exception occurs during execution of the 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 :keyword:`try` statement."
msgstr ""
"Si ocurre una excepción durante la ejecución de la cláusula *try* el resto "
"de la cláusula se omite. Entonces, si el tipo de excepción coincide con la "
"excepción indicada después de la :keyword:`except`, la cláusula *except* se "
"ejecuta, y la ejecución continua después de la :keyword:`try`."
#: ../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 excepción que no coincide con la indicada en la cláusula "
"*except* se pasa a los :keyword:`try` más externos; si no se encuentra un "
"gestor, se genera una *unhandled exception* (excepción no gestionada) y la "
"ejecución se interrumpe con un mensaje como el que se muestra arriba."
# en desacuerdo con manejadores, serían, por ejemplo gestores. en mi opinión
# se debería discutir y acordar.
#: ../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 declaración :keyword:`try` puede tener más de un *except*, para "
"especificar gestores para distintas excepciones. A lo sumo un bloque será "
"ejecutado. Sólo se gestionarán excepciones que ocurren en el "
"correspondiente *try*, no en otros bloques del mismo :keyword:`!try`. Un "
"*except* puede nombrar múltiples excepciones usando paréntesis, 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 cláusula :keyword:`except` es compatible con una excepción "
"si es de la misma clase o de una clase derivada de la misma (pero no de la "
"otra manera --- una cláusula *except* listando una clase derivada no es "
"compatible con una clase base). Por ejemplo, el siguiente código 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 ""
"Nótese que si las cláusulas *except* estuvieran invertidas (con ``except B`` "
"primero), habría impreso B, B, B --- se usa la primera cláusula *except* "
"coincidente."
#: ../Doc/tutorial/errors.rst:150
msgid ""
"The last except clause may omit the exception name(s), 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 ""
"El último *except* puede omitir el nombre de la excepción capturada y servir "
"como comodín. Se debe usar esta posibilidad con extremo cuidado, ya que de "
"esta manera es fácil ocultar un error real de programación. También puede "
"usarse para mostrar un mensaje de error y luego re-generar la excepción "
"(permitiéndole al que llama, gestionar también la excepción)::"
#: ../Doc/tutorial/errors.rst:169
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 ""
"Las declaraciones :keyword:`try` ... :keyword:`except` tienen un *bloque "
"else* opcional, el cual, cuando está presente, debe seguir a los *except*. "
"Es útil para aquel código que debe ejecutarse si el *bloque try* no genera "
"una excepción. Por ejemplo::"
#: ../Doc/tutorial/errors.rst:183
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 cláusula :keyword:`!else` es mejor que agregar código adicional "
"en la cláusula :keyword:`try` porque evita capturar accidentalmente una "
"excepción que no fue generada por el código que está protegido por la "
"declaración :keyword:`!try` ... :keyword:`!except`."
#: ../Doc/tutorial/errors.rst:188
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 excepción, puede tener un valor asociado, también conocido "
"como el *argumento* de la excepción. La presencia y el tipo de argumento "
"depende del tipo de excepción."
#: ../Doc/tutorial/errors.rst:192
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 cláusula *except* puede especificar una variable después del nombre de "
"excepción. La variable se vincula a una instancia de la excepción con los "
"argumentos almacenados en ``instance.args``. Por conveniencia, la instancia "
"de excepción define :meth:`__str__` para que se pueda mostrar los argumentos "
"directamente, sin necesidad de hacer referencia a ``.args``. También se "
"puede instanciar la excepción primero, antes de generarla, y agregarle los "
"atributos que se desee::"
#: ../Doc/tutorial/errors.rst:216
msgid ""
"If an exception has arguments, they are printed as the last part ('detail') "
"of the message for unhandled exceptions."
msgstr ""
"Si una excepción 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:219
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 se encargan solamente de las excepciones que "
"ocurren en el *bloque try*, también gestionan las excepciones que ocurren "
"dentro de las funciones que se llaman (inclusive indirectamente) dentro del "
"*bloque try*. Por ejemplo::"
#: ../Doc/tutorial/errors.rst:237
msgid "Raising Exceptions"
msgstr "Lanzando excepciones"
#: ../Doc/tutorial/errors.rst:239
msgid ""
"The :keyword:`raise` statement allows the programmer to force a specified "
"exception to occur. For example::"
msgstr ""
"La declaración :keyword:`raise` permite al programador forzar a que ocurra "
"una excepción específica. Por ejemplo::"
#: ../Doc/tutorial/errors.rst:247
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 excepción a generarse. "
"Tiene que ser o una instancia de excepción, o una clase de excepción (una "
"clase que hereda de :class:`Exception`). Si se pasa una clase de excepción, "
"la misma será instanciada implícitamente llamando a su constructor sin "
"argumentos::"
#: ../Doc/tutorial/errors.rst:254
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 excepción fue lanzada pero sin intención "
"de gestionarla, una versión simplificada de la instrucción :keyword:`raise` "
"te permite relanzarla::"
#: ../Doc/tutorial/errors.rst:273
msgid "Exception Chaining"
msgstr "Encadenamiento de excepciones"
#: ../Doc/tutorial/errors.rst:275
msgid ""
"The :keyword:`raise` statement allows an optional :keyword:`from` which "
"enables chaining exceptions. For example::"
msgstr ""
"La instrucción :keyword:`raise` permite una palabra clave opcional :keyword:"
"`from` que habilita el encadenamiento de excepciones. Por ejemplo::"
#: ../Doc/tutorial/errors.rst:281
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:302
msgid ""
"Exception chaining happens automatically when an exception is raised inside "
"an :keyword:`except` or :keyword:`finally` section. Exception chaining can "
"be disabled by using ``from None`` idiom:"
msgstr ""
"El encadenamiento de excepciones ocurre automáticamente cuando se genera una "
"excepción dentro de una sección palabra clave :keyword:`except` o :keyword:"
"`finally`. El encadenamiento de excepciones se puede deshabilitar usando el "
"modismo ``from None``:"
#: ../Doc/tutorial/errors.rst:315
msgid ""
"For more information about chaining mechanics, see :ref:`bltin-exceptions`."
msgstr ""
"Para obtener más información sobre la mecánica del encadenamiento, consulte :"
"ref:`bltin-exceptions`."
#: ../Doc/tutorial/errors.rst:321
msgid "User-defined Exceptions"
msgstr "Excepciones definidas por el usuario"
#: ../Doc/tutorial/errors.rst:323
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 "
"excepción (mirá :ref:`tut-classes` para más información sobre las clases de "
"Python). Las excepciones, típicamente, deberán derivar de la clase :exc:"
"`Exception`, directa o indirectamente."
#: ../Doc/tutorial/errors.rst:327
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 Excepción pueden ser definidas de la misma forma que cualquier "
"otra clase, pero es habitual mantenerlas lo más simples posible, a menudo "
"ofreciendo solo un número de atributos con información sobre el error que "
"leerán los gestores de la excepción. Al crear un módulo que puede lanzar "
"varios errores distintos, una práctica común es crear una clase base para "
"excepciones definidas en ese módulo y extenderla para crear clases "
"excepciones específicas para distintas condiciones de error::"
#: ../Doc/tutorial/errors.rst:365
msgid ""
"Most exceptions are defined with names that end in \"Error\", similar to the "
"naming of the standard exceptions."
msgstr ""
"La mayoría de las excepciones se definen con nombres acabados en \"Error\", "
"de manera similar a la nomenclatura de las excepciones estándar."
#: ../Doc/tutorial/errors.rst:368
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 módulos estándar definen sus propias excepciones para reportar "
"errores que pueden ocurrir en funciones propias. Se puede encontrar más "
"información sobre clases en el capítulo :ref:`tut-classes`."
#: ../Doc/tutorial/errors.rst:376
msgid "Defining Clean-up Actions"
msgstr "Definiendo acciones de limpieza"
#: ../Doc/tutorial/errors.rst:378
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 declaración :keyword:`try` tiene otra cláusula opcional cuyo propósito es "
"definir acciones de limpieza que serán ejecutadas bajo ciertas "
"circunstancias. Por ejemplo::"
#: ../Doc/tutorial/errors.rst:392
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 cláusula :keyword:`finally` está presente, el bloque :keyword:`!"
"finally` se ejecutará al final antes de que todo el bloque :keyword:`try` se "
"complete. La cláusula :keyword:`!finally` se ejecuta independientemente de "
"que la cláusula :keyword:`!try` produzca o no una excepción. Los siguientes "
"puntos explican casos más complejos en los que se produce una excepción:"
#: ../Doc/tutorial/errors.rst:398
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 excepción durante la ejecución de la cláusula :keyword:`!try`, "
"la excepción podría ser gestionada por una cláusula :keyword:`except`. Si la "
"excepción no es gestionada por una cláusula :keyword:`!except`, la excepción "
"es relanzada después de que se ejecute el bloque de la cláusula :keyword:`!"
"finally`."
#: ../Doc/tutorial/errors.rst:404
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 ""
"Podría aparecer una excepción durante la ejecución de una cláusula :keyword:"
"`!except` o :keyword:`!else`. De nuevo, la excepción será relanzada después "
"de que el bloque de la cláusula :keyword:`!finally` se ejecute."
#: ../Doc/tutorial/errors.rst:408
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 cláusula :keyword:`!finally` se "
"ejecutará justo antes de la ejecución de dicha sentencia."
#: ../Doc/tutorial/errors.rst:414
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 cláusula :keyword:`!finally` incluye una sentencia :keyword:`!"
"return`, el valor retornado será el de la cláusula :keyword:`!finally`, no "
"la del de la sentencia :keyword:`!return` de la cláusula :keyword:`!try`."
#: ../Doc/tutorial/errors.rst:420
msgid "For example::"
msgstr "Por ejemplo::"
#: ../Doc/tutorial/errors.rst:431
msgid "A more complicated example::"
msgstr "Un ejemplo más complicado::"
#: ../Doc/tutorial/errors.rst:456
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 cláusula :keyword:`finally` siempre se ejecuta. La "
"excepción :exc:`TypeError` lanzada al dividir dos cadenas de texto no es "
"gestionado por la cláusula :keyword:`except` y por lo tanto es relanzada "
"luego de que se ejecuta la cláusula :keyword:`!finally`."
#: ../Doc/tutorial/errors.rst:461
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 cláusula :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:469
msgid "Predefined Clean-up Actions"
msgstr "Acciones predefinidas de limpieza"
#: ../Doc/tutorial/errors.rst:471
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 estándar para llevar a cabo "
"cuando el objeto ya no necesario, independientemente de que las operaciones "
"sobre el objeto hayan sido exitosas o no. Véase el siguiente ejemplo, que "
"intenta abrir un archivo e imprimir su contenido en la pantalla. ::"
#: ../Doc/tutorial/errors.rst:479
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 código 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 más grandes. La declaración :keyword:`with` permite que los "
"objetos como archivos sean usados de una forma que asegure que siempre se "
"los libera rápido y en forma correcta.::"
#: ../Doc/tutorial/errors.rst:489
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 declaración se ejecuta, el fichero *f* siempre se cierra, "
"incluso si aparece algún error durante el procesado de las líneas. Los "
"objetos que, como los ficheros, posean acciones predefinidas de limpieza lo "
"indicarán en su documentación."
# es relazanda luego suena "raro", por el mal uso de la forma pasiva y por
# preferir luego en vez de 'después'
#~ msgid ""
#~ "A *finally clause* is always executed before leaving the :keyword:`try` "
#~ "statement, whether an exception has occurred or not. When an exception "
#~ "has occurred in the :keyword:`!try` clause and has not been handled by "
#~ "an :keyword:`except` clause (or it has occurred in an :keyword:`!except` "
#~ "or :keyword:`!else` clause), it is re-raised after the :keyword:`finally` "
#~ "clause has been executed. The :keyword:`!finally` clause is also "
#~ "executed \"on the way out\" when any other clause of the :keyword:`!try` "
#~ "statement is left vía a :keyword:`break`, :keyword:`continue` or :keyword:"
#~ "`return` statement. A more complicated example::"
#~ msgstr ""
#~ "Una *cláusula finally* siempre se ejecuta antes de salir de la "
#~ "declaración :keyword:`try`, haya ocurrido una excepción o no. Cuando "
#~ "ocurre una excepción en la cláusula :keyword:`try` y no fue gestionada "
#~ "por una cláusula :keyword:`except` (o ocurrió en una cláusula :keyword:"
#~ "`except` o :keyword:`else`), es relanzada luego de que se ejecuta la "
#~ "cláusula :keyword:`finally`. El :keyword:`finally` es también ejecutado "
#~ "\"a la salida\" cuando cualquier otra cláusula de la declaración :keyword:"
#~ "`try` es dejada vía :keyword:`break`, :keyword:`continue` or :keyword:"
#~ "`return`. Un ejemplo más complicado::"