Está en la página 1de 3

ESCUELA POLITCNICA NACIONAL SOFTWARE DE SIMULACIN NOMBRE: SILVA LOZA JUAN CARLOS TEMA: TRY AND CATCH OBJETIVO:

CONOCER ACERCA DE LOS COMANDOS TRY AND CATCH TRY Intento de ejecutar un bloque de cdigo y detectar errores. TRY marca el inicio de un bloque try en una instruccin try-catch. Si el software MATLAB detecta un error durante la ejecucin de cdigo en el bloque try, inmediatamente salta al principio del bloque de capturas correspondientes y ejecuta el cdigo de control de errores en ese bloque. Una instruccin trycatch es un dispositivo de programacin que le permite definir cmo algunos errores que deben ser gestionados en el programa. Esto pasa por alto el valor por defecto de MATLAB mecanismo de control de errores cuando estos errores se detectan. La instruccin try-catch consta de dos bloques de cdigo de MATLAB, un bloque try y un bloque catch, delimitado por las palabras clave try, catch, y end:
try MATLAB commands catch ME MATLAB commands end % Bloque try % Bloque catch

Cada uno de estos bloques se compone de uno o varios comandos de MATLAB. El bloque try es slo una pieza ms de su cdigo del programa, los comandos de este bloque se ejecutan al igual que cualquier otra parte de su programa. Cualquier error que MATLAB encuentra en el bloque try se abordan por el bloque de captura respectiva. Aqu es donde se escribe el cdigo de control de errores. Si el bloque try se ejecuta sin error, MATLAB omite el bloque catch por completo. Sise produce un error al ejecutar el bloque catch, el programa termina a menos que este error es capturado por otro bloque try-catch. Especificacin de los comandos try, catch, y end, as como los comandos que componen los bloques try y catch, en lneas separadas es la recomendada. Si t combinas cualquiera de estos componentes en la misma lnea, separados por comas: try, surf, catch ME, ME.stack, end ans = file: 'matlabroot \ toolbox \ matlab \ graph3d \ surf.m' nombre: 'surf' lnea: 54 donde de trmino matlabroot representa la cadena devuelta por la funcin matlabroot.

CATCH Especificar cmo responder a un error en try, se escribe como catch o catch me. Catch me marca el inicio de un bloque catch en una instruccin try-catch. Devuelve objeto ME, que es una instancia de la clase MException de MATLAB. Este objeto contiene informacin acerca de un errores atrapados en el bloque anterior a try y puede ser til para ayudar a su programa de responder a los errores adecuadamente. Una instruccin try-catch es un dispositivo de programacin que le permite definir cmo algunos errores deben ser gestionados en el programa. Esto pasa por alto el valor por defecto de MATLAB mecanismo de control de errores cuando estos errores se detectan. La instruccin try-catch consta de dos bloques de cdigo de MATLAB, un bloque try y un bloque catch, delimitado por las palabras clave try, catch, y end como ya se vio en el try. Catch marca el inicio de un bloque catch pero no devuelve un objeto MException. Puede obtener la cadena de error que se gener por llamar a la funcin LastError. Especificacin de los comandos try, catch y end, as como los comandos que componen el bloque try y catch, en lneas separadas es la recomendada. Si combinar cualquiera de estos componentes en la misma lnea, separados por comas: tratar, surf, pesca ME, ME.stack, final ans = el archivo: 'matlabroot \ toolbox \ matlab \ graph3d \ surf.m' nombre: 'surf' lnea: 54 la matlabroot trmino representa la cadena devuelta por la funcin matlabroot. Ejemplo
function d_in = read_image(filename) [path name ext] = fileparts(filename); try fid = fopen(filename, 'r'); d_in = fread(fid); catch ME1 % Get last segment of the error message identifier. idSegLast = regexp(ME1.identifier, '(?<=:)\w+$', ... 'match'); % Did the read fail because the file could not be found? if strcmp(idSegLast, 'InvalidFid') && ... ~exist(filename, 'file')

% Yes. Try modifying the filename extension. switch ext case '.jpg' % Change jpg to jpeg filename = strrep(filename, '.jpg', '.jpeg') case '.jpeg' % Change jpeg to jpg filename = strrep(filename, '.jpeg', '.jpg') case '.tif' % Change tif to tiff filename = strrep(filename, '.tif', '.tiff') case '.tiff' % Change tiff to tif filename = strrep(filename, '.tiff', '.tif') otherwise fprintf('File %s not found\n', filename); rethrow(ME1); end % Try again, with modifed filenames. try fid = fopen(filename, 'r'); d_in = fread(fid); catch ME2 fprintf('Unable to access file %s\n', filename); ME2 = addCause(ME2, ME1); rethrow(ME2) end

end end

CONCLUSIONES El try y catch sirven ejecutar un bloque de cdigo y detectar errores.

También podría gustarte