13.07.2015 Views

Instrucciones y excepciones.pdf - Willy .Net

Instrucciones y excepciones.pdf - Willy .Net

Instrucciones y excepciones.pdf - Willy .Net

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Instrucciones</strong> y <strong>excepciones</strong> 29¿Por qué se emplean <strong>excepciones</strong>?Objetivo del temaExplicar qué es unaexcepción.Explicación previaHay que estar siemprepreparado para cualquierimprevisto que pueda surgirdurante la ejecución de unprograma.• El tradicional tratamiento procedural de errores esdemasiado complicadoLógica del programaint int errorCodigo = 0; 0;FileInfo source = new new FileInfo("code.cs");if if (errorCodigo == == -1) -1) goto Fallo;int int longitud = (int)source.Length;if if (errorCodigo == == -2) -2) goto Fallo;char[] contenido = new new char[longitud];if if (errorCodigo == == -3) -3) goto Fallo;// // No No hay hay problemas ... ...Fallo: ... ...Trat. De erroresUn buen programa se caracteriza por incluir medidas contra lo inesperado y porpoderse recuperar en caso de que ocurra. Pueden aparecer errores en cualquiermomento durante la compilación o ejecución de un programa.La lógica básica del programa mostrado en la transparencia es la siguiente:Recomendación alprofesorEstas tres instruccionesvolverán a aparecer enmuchos de los temassiguientes.Pida a los estudiantes quele digan los problemasasociados con el código yvea cuántos se les ocurren.ArchInfo source = new ArchInfo("code.cs");int longitud = (int)source.Longitud;char[ ] contenido = new char[longitud];...Desgraciadamente, estas instrucciones básicas se pierden en la confusión delcódigo para tratamiento de errores. Este código dificulta la interpretación de lalógica del programa de distintas maneras:• La lógica del programa se mezcla con el código para tratamiento deerrores.Las instrucciones básicas del programa pierden su integridadconceptual al mezclarse con el código para tratamiento de errores, loque hace que sea difícil entender el programa.• Todo el código para errores tiene un aspecto similar.Todas las instrucciones para tratamiento de errores son similares, yaque todas utilizan instrucciones if para probar el mismo código deerror. Además hay mucho código repetido, lo que siempre es una señalde aviso.• Los códigos de error no son significativos en sí mismos.En este código, un número como –1 no tiene un significado explícito;podría representar “Error de seguridad: no hay permiso de lectura”,pero eso sólo se puede saber consultando la documentación. Por lo

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!