Utilizar try/catch para gestionar errores
Puede utilizar la instrucción try/catch para ejecutar código cuando el programa detecte un error. Las instrucciones try/catch pueden ser útiles si:
Desea finalizar el programa de otra forma que evite errores
Necesita eliminar los efectos colaterales no deseados del error
Tiene muchos parámetros o comandos de entrada que generan problemas
Coloque las instrucciones try/catch en bloques de código, de forma similar a este pseudocódigo:
try try block... catch catch block... end
try block, MATLAB® omite los comandos restantes del bloque try y ejecuta los comandos en catch block. Si no ocurre ningún error en try block, MATLAB omite catch block al completo.Por ejemplo, la instrucción try/catch puede evitar que se tengan que arrojar errores. Considere la función combinations, que devuelve el número de combinaciones de k elementos de n elementos:
function com = combinations(n,k) com = factorial(n)/(factorial(k)*factorial(n-k)); end
MATLAB arroja un error cuando k > n. No puede crear un conjunto con más elementos k que elementos n que posee. Con la instrucción try/catch, puede evitar el error y ejecutar esta función independientemente del orden de las entradas:
function com = robust_combine(n,k) try com = factorial(n)/(factorial(k)*factorial(n-k)); catch com = factorial(k)/(factorial(n)*factorial(k-n)); end end
robust_combine trata cualquier orden de números enteros como entradas válidas:C1 = robust_combine(8,4) C2 = robust_combine(4,8)
C1 =
70
C2 =
70También puede obtener más información sobre los errores si después de la instrucción catch hay una variable:
catch MExc
MExc es un objeto de clase MException que contiene más información sobre el error arrojado. Para obtener más información sobre el acceso a información de objetos MException, consulte Exception Handling in a MATLAB Application.