Changeset 46


Ignore:
Timestamp:
05/07/09 11:22:53 (4 years ago)
Author:
facundobatista
Message:

Algunas lineas más.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/traducidos/errors.rst

    r45 r46  
    116116  ejecución se frena con un mensaje como los mostrado arriba. 
    117117 
    118 A :keyword:`try` statement may have more than one except clause, to specify 
    119 handlers for different exceptions.  At most one handler will be executed. 
    120 Handlers only handle exceptions that occur in the corresponding try clause, not 
    121 in other handlers of the same :keyword:`try` statement.  An except clause may 
    122 name multiple exceptions as a parenthesized tuple, for example:: 
     118Una declaración :keyword:`try` puede tener más de un :keyword:`except`, para 
     119especificar manejadores para distintas excepciones. A lo sumo un manejador será 
     120ejecutado.  Sólo se manejan excepciones que ocurren en el correspondiente 
     121:keyword:`try`, no en otros manejadores del mismo :keyword:`try`.  Un 
     122:keyword:`except` puede nombrar múltiples excepciones usando paréntesis, por 
     123ejemplo:: 
    123124 
    124125   ... except (RuntimeError, TypeError, NameError): 
    125126   ...     pass 
    126127 
    127 The last except clause may omit the exception name(s), to serve as a wildcard. 
    128 Use this with extreme caution, since it is easy to mask a real programming error 
    129 in this way!  It can also be used to print an error message and then re-raise 
    130 the exception (allowing a caller to handle the exception as well):: 
     128El último :keyword:`except` puede omitir nombrar qué excepción captura, para 
     129servir como comodín.  Usá esto con extremo cuidado, ya que de esta manera es 
     130fácil ocultar un error real de programación.  También puede usarse para mostrar 
     131un mensaje de error y luego re-generar la excepción (permitiéndole al que llama 
     132manejar también la excepción):: 
    131133 
    132134   import sys 
    133135 
    134136   try: 
    135        f = open('myfile.txt') 
     137       f = open('miarchivo.txt') 
    136138       s = f.readline() 
    137139       i = int(s.strip()) 
    138140   except IOError as (errno, strerror): 
    139        print "I/O error({0}): {1}".format(errno, strerror) 
     141       print "Error E/S ({0}): {1}".format(errno, strerror) 
    140142   except ValueError: 
    141        print "Could not convert data to an integer." 
     143       print "No pude convertir el dato a un entero." 
    142144   except: 
    143        print "Unexpected error:", sys.exc_info()[0] 
     145       print "Error inesperado:", sys.exc_info()[0] 
    144146       raise 
    145147 
    146 The :keyword:`try` ... :keyword:`except` statement has an optional *else 
    147 clause*, which, when present, must follow all except clauses.  It is useful for 
    148 code that must be executed if the try clause does not raise an exception.  For 
    149 example:: 
     148Las declaraciones :keyword:`try` ... :keyword:`except` tienen un *bloque else* 
     149opcional, el cual, cuando está presente, debe seguir a los except.  Es útil 
     150para aquel código que debe ejecutarse si el *bloque try* no genera una 
     151excepción.  Por ejemplo:: 
    150152 
    151153   for arg in sys.argv[1:]: 
     
    153155           f = open(arg, 'r') 
    154156       except IOError: 
    155            print 'cannot open', arg 
     157           print 'no pude abrir', arg 
    156158       else: 
    157            print arg, 'has', len(f.readlines()), 'lines' 
     159           print arg, 'tiene', len(f.readlines()), 'lineas' 
    158160           f.close() 
    159161 
Note: See TracChangeset for help on using the changeset viewer.