Changeset 46
- Timestamp:
- 05/07/09 11:22:53 (4 years ago)
- File:
-
- 1 edited
-
trunk/traducidos/errors.rst (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/traducidos/errors.rst
r45 r46 116 116 ejecución se frena con un mensaje como los mostrado arriba. 117 117 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:: 118 Una declaración :keyword:`try` puede tener más de un :keyword:`except`, para 119 especificar manejadores para distintas excepciones. A lo sumo un manejador será 120 ejecutado. 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 123 ejemplo:: 123 124 124 125 ... except (RuntimeError, TypeError, NameError): 125 126 ... pass 126 127 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):: 128 El último :keyword:`except` puede omitir nombrar qué excepción captura, para 129 servir como comodín. Usá esto con extremo cuidado, ya que de esta manera es 130 fácil ocultar un error real de programación. También puede usarse para mostrar 131 un mensaje de error y luego re-generar la excepción (permitiéndole al que llama 132 manejar también la excepción):: 131 133 132 134 import sys 133 135 134 136 try: 135 f = open('m yfile.txt')137 f = open('miarchivo.txt') 136 138 s = f.readline() 137 139 i = int(s.strip()) 138 140 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) 140 142 except ValueError: 141 print " Could not convert data to an integer."143 print "No pude convertir el dato a un entero." 142 144 except: 143 print " Unexpected error:", sys.exc_info()[0]145 print "Error inesperado:", sys.exc_info()[0] 144 146 raise 145 147 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 ex ample::148 Las declaraciones :keyword:`try` ... :keyword:`except` tienen un *bloque else* 149 opcional, el cual, cuando está presente, debe seguir a los except. Es útil 150 para aquel código que debe ejecutarse si el *bloque try* no genera una 151 excepción. Por ejemplo:: 150 152 151 153 for arg in sys.argv[1:]: … … 153 155 f = open(arg, 'r') 154 156 except IOError: 155 print ' cannot open', arg157 print 'no pude abrir', arg 156 158 else: 157 print arg, ' has', len(f.readlines()), 'lines'159 print arg, 'tiene', len(f.readlines()), 'lineas' 158 160 f.close() 159 161
Note: See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/python-tutorial/chrome/site/your_project_logo.png)